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: [],
|
2018-11-04 14:28:25 +01:00
|
|
|
general: {
|
|
|
|
loading: false,
|
|
|
|
},
|
2018-05-28 18:56:36 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
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
|
|
|
});
|