Я пытаюсь проверить свои действия, когда они терпят неудачу. Действия, которые вызывают API.
У меня есть это:
export const loadTips = (tips: TipsModel): LoadTips => ({ tips, type: LOAD_TIPS });
export const fetchTips: ActionCreator<ThunkType> = () => async (dispatch) => {
return ApiService.getTips(
tips => dispatch(loadTips(tips)),
() => dispatch(triggerToast('Tips are not loading. Try again later!', true))
);
};
И вот те тесты, которые я до сих пор проходил правильно:
import * as actions from './tipsActions';
import { LOAD_TIPS, LoadTips, CLEAR_TIPS, ClearTips, DisableOrSnoozedTips, DISABLE_SNOOZ_TIP } from '../types/tipsTypes';
import getStore from '../services/mockGlobalStore';
import { mocked } from 'ts-jest/utils';
import ApiService from '../services/apiService';
jest.mock('../services/apiService');
const mockedApiService = mocked(ApiService, true);
describe('tips actions on API', () => {
beforeEach(() => {
mockedApiService.mockClear();
});
const store = getStore();
it('fetchTips makes API call', () => {
store.dispatch(actions.fetchTips());
expect(mockedApiService.getTips).toHaveBeenCalledWith(expect.any(Function), expect.any(Function));
});
});
describe('tips actions', () => {
it('creates a loadTips action', () => {
const expectedAction: LoadTips = { type: LOAD_TIPS, tips: dummyTips };
expect(actions.loadTips(dummyTips)).toEqual(expectedAction);
});
});
Итак Я хочу знать, что я могу сделать, чтобы проверить, например, когда действие не выполнено, оно отправит действие:
dispatch(triggerToast('Tips are not loading. Try again later!', true))
Так, как я могу проверить эту часть?