Rocket.Chat.ReactNative/app/reducers/createDiscussion.test.ts

34 lines
1.4 KiB
TypeScript

import { createDiscussionRequest, createDiscussionSuccess, createDiscussionFailure } from '../actions/createDiscussion';
import { initialState } from './createDiscussion';
import { mockedStore } from './mockedStore';
describe('test reducer', () => {
it('should return initial state', () => {
const { createDiscussion } = mockedStore.getState();
expect(createDiscussion).toEqual(initialState);
});
it('should return correct createDiscussion state after dispatch createDiscussionRequest action', () => {
mockedStore.dispatch(createDiscussionRequest({}));
const { createDiscussion } = mockedStore.getState();
expect(createDiscussion).toEqual({ isFetching: true, failure: false, error: {}, result: {} });
});
it('should return correct createDiscussion state after dispatch createDiscussionSuccess action', () => {
mockedStore.dispatch(createDiscussionSuccess({ data: true }));
const { createDiscussion } = mockedStore.getState();
expect(createDiscussion).toEqual({ isFetching: false, failure: false, result: { data: true }, error: {} });
});
it('should return correct createDiscussion state after dispatch createDiscussionFailure action', () => {
mockedStore.dispatch(createDiscussionFailure({ err: true }));
const { createDiscussion } = mockedStore.getState();
expect(createDiscussion).toEqual({
isFetching: false,
failure: true,
result: { data: true },
error: { err: true }
});
});
});