Choices/src/scripts/reducers/index.test.js
Josh Johnson 437651411f
Fix render blocking (#456)
* Reapply changes from PR #310

* Version 4.1.1

* Update action name

* Update test

* Resolved broken test
2019-01-26 12:36:47 +00:00

61 lines
1.3 KiB
JavaScript

import { createStore } from 'redux';
import { expect } from 'chai';
import rootReducer from './index';
import groups from './groups';
import choices from './choices';
import items from './items';
describe('reducers/rootReducer', () => {
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, {}));
});
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: [],
general: {
loading: false,
},
});
});
});
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({});
});
});
});