Я хочу написать модульный тест, который проверяет, была ли вызвана функция, но я получаю сообщение об ошибке 'submitDetails submitDetails sendEmail: AssertionError: ожидалось, что sendEmail был вызван ровно один раз, но он был вызван0 раз '
Из того, что я вижу, моя функция submitDetails.submitDetails явно выполняет функцию sendEmail.sendEmail, но она говорит, что никогда не вызывается.Я также пытался использовать «spy.called» вместо namedOnce, но получаю тот же результат.
Тестовый файл:
const submitDetails = require('../src/scripts/submitDetails')
const sendEmail = require('../src/lib/sendEmail')
describe('submitDetails', function () {
let sandbox = null
before(() => {
sandbox = sinon.createSandbox()
})
afterEach(() => {
sandbox.restore()
})
describe('submitDetails', () => {
let mockParams, result
beforeEach(async () => {
sandbox.spy(sendEmail, 'sendEmail')
})
it('sendEmail', () => {
expect(sendEmail.sendEmail).to.have.been.calledOnce()
})
})
})
SubmitDetails.js (файл, который тестируется)
const { sendEmail } = require('../lib/sendEmail')
const submitDetails = {}
submitDetails.submitDetails = query => {
return sendEmail(query)
}
module.exports = submitDetails