Не могу разобраться почему происходит запрос на API вместо установленного мок ответа.
И как правильно а данном случаи замокать node-fetch?
Брал так же пример из документации (
https://jestjs.io/docs/bypassing-module-mocks) но была ошибка
mockReturnValue is not a function
Пытаюсь протестировать следующий модуль
import fetch from 'node-fetch';
export const createUser = async () => {
const response = await fetch('http://website.com/users', { method: 'POST' });
const userId = await response.text();
return userId;
};
файл с тестом
import { jest } from '@jest/globals';
import { createUser } from '../createUser';
const mockFetch = jest.fn().mockReturnValue(
Promise.resolve({
json: async () => ({
id: 4
})
})
);
test('createUser calls fetch with the right args and returns the user id', async () => {
const userId = await createUser();
expect(mockFetch).toHaveBeenCalledWith('http://website.com/users', {
method: 'POST'
});
expect(userId.id).toBe(4);
});