bigbuffet-rw/app/soapbox/reducers/__tests__/conversations.test.ts
marcin mikołajczak 7f8594d05e Reducers: TypeScript
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
2022-06-22 22:54:21 +02:00

67 lines
1.6 KiB
TypeScript

import { List as ImmutableList, Record as ImmutableRecord } from 'immutable';
import * as actions from 'soapbox/actions/conversations';
import reducer from '../conversations';
describe('conversations reducer', () => {
it('should return the initial state', () => {
expect(reducer(undefined, {} as any)).toMatchObject({
items: ImmutableList(),
isLoading: false,
hasMore: true,
mounted: 0,
});
});
it('should handle CONVERSATIONS_FETCH_REQUEST', () => {
const state = ImmutableRecord({ isLoading: false })();
const action = {
type: actions.CONVERSATIONS_FETCH_REQUEST,
};
expect(reducer(state as any, action).toJS()).toMatchObject({
isLoading: true,
});
});
it('should handle CONVERSATIONS_FETCH_FAIL', () => {
const state = ImmutableRecord({ isLoading: true })();
const action = {
type: actions.CONVERSATIONS_FETCH_FAIL,
};
expect(reducer(state as any, action).toJS()).toMatchObject({
isLoading: false,
});
});
// it('should handle the Action CONVERSATIONS_MOUNT', () => {
// expect(
// reducer(
// {
// mounted: false,
// },
// {
// type: 'CONVERSATIONS_MOUNT',
// },
// ),
// ).toEqual({
// mounted: true,
// });
// });
//
// it('should handle the Action CONVERSATIONS_UNMOUNT', () => {
// expect(
// reducer(
// {
// mounted: true,
// },
// {
// type: 'CONVERSATIONS_UNMOUNT',
// },
// ),
// ).toEqual({
// mounted: false,
// });
// });
});