По какой-то причине я не могу заглушить метод обслуживания.
Мой сервис содержит метод с именем ' complete ', который я хотел бы заглушить для проверки входных параметров. (Это может быть не лучшим, но я понимаю, что это должно работать). Во всяком случае, метод не заглушен.
describe('test suite', () => {
const httpMocks = require('node-mocks-http');
const service = new MyService(sinon.createStubInstance(MyRepository));
const controller = new MyController(service);
const request = httpMocks.createRequest();
const response = httpMocks.createResponse();
let methodStub: sinon.SinonStub;
beforeEach(async () => {
methodStub = sinon.stub(service, 'complete');
methodStub.callsFake(async (
arg1: string,
arg2: string
) => {
chai.assert(arg2 === 'something');
Promise.resolve();
});
});
afterEach(async () => {
methodStub.restore();
});
it.only('should complete a task', async () => {
await controller.complete(request, response);
chai.assert(response.statusCode === 200, 'response should have statusCode 200 as successful');
chai.assert(methodStub.called, 'methodStub has been called');
});
});
Что я должен сделать, чтобы правильно его заглушить? Что я делаю не так?
Я ценю любую помощь!