Ваша проблема в том, что вы неправильно понимаете, что делают эти фиктивные функции.Прежде всего, вы полностью перезаписываете исходные значения AValidator
и BValidator
с помощью jest.fn()
.
. Таким образом, выполнение
let AValidator = require('../src/AValidator');
let BValidator = require('../src/BValidator');
в вашем тесте является избыточным.
Цель mockReturnValue
состоит в том, чтобы вы могли вызвать эту функцию и вернуть указанное вами возвращаемое значение.
Получено прямо из документов Jest
const myMockFn = jest
.fn()
.mockReturnValue('default')
.mockReturnValueOnce('first call')
.mockReturnValueOnce('second call');
// 'first call', 'second call', 'default', 'default'
console.log(myMockFn(), myMockFn(), myMockFn(), myMockFn());
Вы никогда не используетеили вызывая ваши фиктивные функции, и, кроме того, ваши API не имеют ни малейшего представления, что они вообще существуют.
Решение заключается в предоставлении соответствующих заголовков в запросе при запуске тестов, чтобы они не давали сбоя в промежуточном программном обеспечении.Кроме того, для этого вы должны знать, что делает Verifier.verifyPayload
.
с supertest
ваш запрос должен выглядеть так:
request(app)
.post('/test/activate')
.set({authorization: 'a_valid_value_goes_here'})
.then((response)=>{
expect(response.statusCode).toBe(200);
done();
})