UNPKG

@async-fn/jest

Version:

Additional methods to jest.fn to introduce "late resolve" of promises returned by mock functions. This allows tests that read chronologically, like a story.

31 lines (25 loc) 948 B
declare module '@async-fn/jest' { import type { PartialDeep } from 'type-fest'; type TentativeTuple<T> = T extends undefined | void ? [undefined?] : [T]; type AsyncFnMock<TToBeMocked extends (...args: any[]) => any> = jest.MockedFunction<TToBeMocked> & { resolve: ( ...resolvedValue: TentativeTuple< ReturnType<TToBeMocked> | Awaited<ReturnType<TToBeMocked>> > ) => Promise<void>; resolveSpecific: ( callFinder: | PartialDeep<Parameters<TToBeMocked>> | ((parameters: Parameters<TToBeMocked>) => boolean), ...resolvedValue: TentativeTuple< ReturnType<TToBeMocked> | Awaited<ReturnType<TToBeMocked>> > ) => Promise<void>; reject: (rejectValue?: any) => Promise<void>; }; export type { AsyncFnMock }; export default function asyncFn< TToBeMocked extends (...args: any[]) => any, >(): AsyncFnMock<TToBeMocked>; }