Choices/src/scripts/reducers/index.test.js

58 lines
1.2 KiB
JavaScript
Raw Normal View History

2017-10-09 18:46:47 +02:00
import { createStore } from 'redux';
import { expect } from 'chai';
import rootReducer from './index';
import groups from './groups';
import choices from './choices';
import items from './items';
2017-10-29 19:56:24 +01:00
describe('reducers/rootReducer', () => {
2017-10-09 18:46:47 +02:00
const store = createStore(rootReducer);
it('returns expected reducers', () => {
const state = store.getState();
expect(state.groups).to.equal(groups(undefined, {}));
expect(state.choices).to.equal(choices(undefined, {}));
expect(state.items).to.equal(items(undefined, {}));
});
2018-05-28 18:56:36 +02:00
describe('CLEAR_ALL', () => {
it('resets state', () => {
const output = rootReducer(
{
items: [1, 2, 3],
groups: [1, 2, 3],
choices: [1, 2, 3],
},
{
type: 'CLEAR_ALL',
},
);
expect(output).to.eql({
items: [],
groups: [],
choices: [],
});
});
});
describe('RESET_TO', () => {
it('replaces state with given state', () => {
const output = rootReducer(
{
items: [1, 2, 3],
groups: [1, 2, 3],
choices: [1, 2, 3],
},
{
type: 'RESET_TO',
state: {},
},
);
expect(output).to.eql({});
});
});
2017-10-09 18:46:47 +02:00
});