soapbox/src/reducers/polls.test.ts

39 wiersze
1005 B
TypeScript
Czysty Zwykły widok Historia

2020-06-10 01:08:07 +00:00
import { Map as ImmutableMap } from 'immutable';
import { POLLS_IMPORT } from 'soapbox/actions/importer';
import reducer from './polls';
2020-06-10 01:08:07 +00:00
describe('polls reducer', () => {
it('should return the initial state', () => {
expect(reducer(undefined, {} as any)).toEqual(ImmutableMap());
2020-06-10 01:08:07 +00:00
});
describe('POLLS_IMPORT', () => {
it('normalizes the poll', () => {
2023-05-03 17:52:36 +00:00
const polls = [{ id: '3', options: [{ title: 'Apples' }, { title: 'Oranges' }] }];
const action = { type: POLLS_IMPORT, polls };
const result = reducer(undefined, action);
const expected = {
'3': {
2023-05-03 17:52:36 +00:00
options: [
{ title: 'Apples', votes_count: 0 },
{ title: 'Oranges', votes_count: 0 },
],
emojis: [],
expired: false,
multiple: false,
voters_count: 0,
votes_count: 0,
2022-03-10 22:25:11 +00:00
own_votes: null,
voted: false,
},
};
expect(result.toJS()).toMatchObject(expected);
});
});
2020-06-10 01:08:07 +00:00
});