У меня есть следующий тест:
it('should handle searchForRepairs', async () => {
await store.dispatch((searchForRepairs as any)(''))
const state = {
repairs: store.getActions().reduce(reducer, initialState)
}
expect(getRepairsProperty(state)).toMatchObject(
[{
id: '',
jobNo: '',
trade: '',
priority: '',
status: '',
raisedDate: '',
appointmentDate: '',
completedDate: '',
description: '',
}]
)
expect(store.getActions()).toEqual({})
})
, где проходит первое ожидание, но нет второго, где я получаю следующее:
тест не пройден, потому что я проверяю его на пустой объект, но я ожидаю, что в store.getActions()
будет включен тип действий, включенный в searchForReapirs
из await store.dispatch((searchForRepairs as any)(''))
.
Я ожидаю потерпеть неудачу, потому что {type: 'SOME_TYPE'}
отличается от {}
, они в основном возвращают пустое
searchForRepairs
действие:
export const searchForRepairs = (searchTerm: string) => async (
dispatch: Dispatch,
getState: () => AppState
) => {
if (!searchTerm) return
dispatch({
type: REPAIRS_SEARCH,
// payload: { searchTerm },
})
const customerId = getCustomerId(getState())
const propertyRepairs = await api.searchRepairs(`${customerId} AND ${searchTerm}`)
dispatch({
type: REPAIRS_SEARCH_SUCCESS,
payload: propertyRepairs,
})
}