У меня есть сага о редуксе, как это
export default function* userSaga() {
yield all([takeEvery(UserTypeKeys.SET_AUTHENTICATION_STATUS, fetchAuthenticationStatus)]);
}
Я хотел бы проверить, что когда UserTypeKeys.SET_AUTHENTICATION_STATUS вызывается функция fetchAuthenticationStatus.
Итак, в моем тесте на приставку у меня есть это.
test('Test Root Saga', async () => {
const saga = runSaga(mockStore, userSagas.default);
const fetchAuthStatusMock = jest.spyOn(userSagas, 'fetchAuthenticationStatus');
mockStore.dispatch({ type: UserTypeKeys.SET_AUTHENTICATION_STATUS });
saga.cancel();
await saga.done;
expect(fetchAuthStatusMock.mock.calls.length).toBe(1);
});
Однако, похоже, это не работает. Как правильно тестировать что-то подобное? Я знаю, что могу просто вызвать функцию генератора и проверить значение .next (), но это похоже на реализацию тестирования, а не на функциональность.