Sometimes, we want to mock a Node module with Jest.
In this article, we’ll look at how to mock a Node module with Jest.
How to mock a Node module with Jest?
To mock a Node module with Jest, we can use the jest.createMockFromModule method.
For instance, we write
const utils = jest.createMockFromModule('../utils').default;
utils.isAuthorized = jest.fn(secret => secret === 'abc');
test('jest.createMockFromModule mocks utils module', () => {
expect(utils.authorize.mock).toBeTruthy();
expect(utils.isAuthorized('abc')).toEqual(true);
});
to call jest.createMockFromModule to mock the ./utils module.
Then we set utils.isAuthorized to a mocked function created by jest.fn with a callback to mock its implementation.
Next, we check if utils.authorize.mock is present with expect.
And we call utils.isAuthorized('abc') to see if it returns true as expected.
Conclusion
To mock a Node module with Jest, we can use the jest.createMockFromModule method.