У меня есть следующий тест, который проходит:
it('should handle handleCreatedRepair', async () => {
const store = mockStore(mockedStore)
await store.dispatch(handleCreatedRepair())
const expectedActions = [
{
type : REPAIR_CURRENT,
payload : mockRepairCurrent
}
]
expect(store.getActions()).toEqual(expectedActions)
})
и фактическое действие приращения:
export const handleCreatedRepair = (
data : CreatedRepair
): ThunkAction<Promise<void>, AppState, null, Action<string>> => async (
dispatch : Dispatch,
getState : () => AppState
) => {
const state = getState()
const currentId = getRepairCurrentId(state)
const premisesId = getPremisesId(state)
await api.updateCreatedRepair(
{
...data,
premisesId
},
currentId
)
const currentRepair = await api.getRepair(currentId)
dispatch({
type : REPAIR_CURRENT,
payload : currentRepair
})
}
относительные вызовы API были смоделированы следующим образом:
jest.mock('../../api', () => ({
getRepairCauses: jest.fn().mockImplementation(() => Promise.resolve(mockRepairCauses)),
createNewRepair: jest.fn().mockImplementation(() => Promise.resolve({})),
updateCreatedRepair: jest.fn().mockImplementation(() => Promise.resolve({}))
}))
Я думал, что этот тест не пройден, потому что handleCreatedRepair
ожидает некоторые данные типа CreatedRepair
. Как я могу проверить, был ли он вызван с какими-то поддельными данными?