У меня небольшая проблема с тестом в jest / vuex.
Я пытаюсь протестировать асинхронное c действие, которое вызывает службу, но выдает ошибку тайм-аута.
Быстрые заметки : я высмеиваю шутку с jest-mock-axios
в соответствующей папке __mocks__
и вызываю макет в верхней части тестового файла, например: import mockAxios from 'axios'
.
Это действие:
async requestCases({ commit }, payload = {}) {
try {
const response = payload.params ? await getCases(payload.params) : await getCases()
const { cases, metadata } = response
commit(mutationTypes.setCases, { cases })
commit(mutationTypes.setMetadata, { metadata })
commit(mutationTypes.setTableRequestState, {params: payload.params})
} catch (error) {
commit(mutationTypes.setCasesError, error)
}
}
Это тест:
it('[action] requestCases', async () => {
const commit = jest.fn()
const payload = {
PageNumber: 1,
PageSize: 10,
SearchQuery: '',
SortColumn: 'patientname',
SortDirection: 'desc'
}
await actions.requestCases({ commit }, payload)
expect(mockAxios.get).toHaveBeenCalled()
expect(commit).toHaveBeenCalled()
})
И вот ошибка:
Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Timeout - Async callback was not invoked within the 5000ms timeout specified by jest.setTimeout.Error:
Как видите, здесь нет ничего особенного, я изменил тайм-аут и другие вещи, но решения не получил. Есть идеи?
Заранее спасибо!