Проверка действия Redux для вызова с параметрами - PullRequest
0 голосов
/ 27 марта 2020

У меня есть следующий тест, который проходит:

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. Как я могу проверить, был ли он вызван с какими-то поддельными данными?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...