Reputation: 6805
How can I spy on an async function in an imported module?
jest.mock('snowflake-promise');
import { Snowflake } from 'snowflake-promise';
describe('Snowflake', () => {
let snowflakeMocked: any;
beforeEach(async () => {
snowflakeMocked = Snowflake as jest.Mocked<typeof Snowflake>;
});
test('Snowflake is...', async () => {
jest.spyOn(Snowflake, 'execute').mockResolvedValue(new Promise<void>());
Argument of type '"execute"' is not assignable to parameter of type 'never'.
"snowflake-promise": "^4.2.0",
Upvotes: 0
Views: 432
Reputation: 310
import { Snowflake } from 'snowflake-promise';
import { mockDeep } from 'jest-mock-extended';
describe('Snowflake', () => {
let snowflakeMocked: DeepMockProxy<Snowflake>;
beforeEach(async () => {
snowflakeMocked = mockDeep<Snowflake>();
});
test('Snowflake is...', async () => {
snowflakeMocked.execute.mockResolvedValue(Promise<void>.resolve());
});
}
Upvotes: 1