@hutechwebsite/blanditiis-assumenda-temporibus-tempora
v1.0.0
Published
[![Coverage Status](https://coveralls.io/repos/github/hutechwebsite/blanditiis-assumenda-temporibus-tempora/badge.svg?branch=main)](https://coveralls.io/github/hutechwebsite/blanditiis-assumenda-temporibus-tempora?branch=main) [![GitHub](https://img.shiel
Downloads
4
Maintainers
Keywords
Readme
jest-mock-inference-helper
This targets typescrit projects and aims to simplify declaration of mocked classes and functions
install
npm i -D @hutechwebsite/blanditiis-assumenda-temporibus-tempora
usage
asMock
Assuming SUT file
import { bar, baz } from "./bar";
export function foo() {
return bar() + " - " + baz();
}
in your spec file
import { asMock } from "@hutechwebsite/blanditiis-assumenda-temporibus-tempora";
import { foo } from "./foo";
import { bar, baz } from "./bar";
// Automock bar
jest.mock("bar");
const barMock = asMock(bar).mockReturnValue("bar");
const bazMock = asMock(baz).mockReturnValue("baz");
// same as
const barMock = (bar as jest.MockedFunction<typeof bar>).mockReturnValue("bar");
const bazMock = (baz as jest.MockedFunction<typeof baz>).mockReturnValue("baz");
describe("foo", () => {
it("Should success", () => {
const res = foo();
await expect(barMock).toHaveBeenCalled();
});
});
asMocks
works similar to asMock
but provides inference sugar for multiple
functions in a single call
Assuming SUT file
import { bar, baz } from "./bar";
export function foo() {
return bar() + " - " + baz();
}
in your spec file
import { asMock } from "@hutechwebsite/blanditiis-assumenda-temporibus-tempora";
import { foo } from "./foo";
import { bar, baz } from "./bar";
// Automock bar
jest.mock("bar");
const { barMock, bazMock } = asMocks({ bar, baz });
// same as
const barMock = bar as jest.MockedFunction<typeof bar>;
const bazMock = baz as jest.MockedFunction<typeof baz>;
describe("foo", () => {
beforeEach(() => {
barMock.mockReturnValue("bar");
barzock.mockReturnValue("baz");
});
it("Should success", () => {
const res = foo();
await expect(barMock).toHaveBeenCalled();
});
});
asClassMock
Provides functionality to infer class mock type and also shortcuts to implement inner object fields and/or properties
see test file for extended usage
Assuming SUT file
import { BarClass } from "./bar";
export function foo() {
const bar = new BarClass();
return bar.func1() + " - " + bar.func2();
}
in your spec file
import { asClassMock } from "@hutechwebsite/blanditiis-assumenda-temporibus-tempora";
import { foo } from "./foo";
import { BarClass } from "./bar";
// Automock bar
jest.mock("bar");
const BarClassMock = asClassMock(BarClass);
// similar to
const BarClassMock = bar as jest.MockedClass<BarClassMock>;
describe("foo", () => {
beforeEach(() => {
BarClassMock.func1.mockReturnValue("bar");
});
it("Should success", () => {
const res = foo();
await expect(BarClassMock.func1).toHaveBeenCalled();
});
});