- Добавить
__mocks__
каталог в src/classes
. - Добавить
GatewayImpl.js
в __mocks__
. - В
__mocks__/GatewayImpl.js
// I don't know how GatewayImpl is implemented.
exports.GatewayImpl = {
procc = jest.fn();
}
В тестовом файле вставить
jest.mock('../src/classes/GatewayImpl')
вверх.
jest.mock('../src/classes/GatewayImpl')
import payload from './payloads/payloadRequire'; // payload to send
import {GatewayImpl} from '../src/classes/GatewayImpl'; //class where the function is
import mockData from './mockData/mockData'; // payload to response
Внутри
beforeAll
или
beforeEach
,
GatewayImpl.procc.mockReturnValue(mockData)
для имитации возвращаемого значения.
describe('procc', () => {
beforeAll(() => {
GatewayImpl.procc.mockReturnValue(mockData);
});
it('returns a data', () => {
request.post('/route/test').send(payload);
expect(GatewayImpl.procc()).toBe(mockData);
});
});