Я новичок в шутке и не могу определить, как проверить результаты, вложенные в обещания. В частности:
myMethod: function (e) {
let self = this
self.resetErrors()
Parser.parseFile(this.form.uploadFile).then(res => {
const hasErrors = self.validFile(res)
if (!hasErrors) {
self.processFile(res)
}
})
}
Я бы хотел проверить, что, если hasErrors
ложно, self.processFile
срабатывает. Вот мое текущее (неудачное) лучшее усилие:
describe("if the provided data is valid", () => {
it('runs processFile', () => {
const mockProcessFile = jest.fn()
mockParser = jest.fn(() => {
new Promise((resolve, reject) => {
return ValidMockData
}).then((loanData) => {
expect(mockProcessFile).toBeCalled()
})
})
CsvParser.parseFile = mockParser
wrapper.vm.validFile = jest.fn(true)
wrapper.vm.processFile = mockProcessFile
wrapper.vm.store().resolve((data) => {
expect(mockProcessFile).toBeCalled()
})
})
})
В настоящее время я получаю ошибку Cannot read property 'then' of undefined
- это имеет смысл, но я не уверен, как именно я должен оправдать ожидания внутри вызова then (). Любые мысли оценили