@zitterorg/quasi-quidem v3.6.64
jest-mock-inference-helper
This targets typescrit projects and aims to simplify declaration of mocked classes and functions
install
npm i -D @zitterorg/quasi-quidem
usage
asMock
Assuming SUT file
import { bar, baz } from "./bar";
export function foo() {
return bar() + " - " + baz();
}
in your spec file
import { asMock } from "@zitterorg/quasi-quidem";
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 "@zitterorg/quasi-quidem";
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 "@zitterorg/quasi-quidem";
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();
});
});
Changelog
License
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
12 months ago
1 year ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago