remove completion actions/reducer

This commit is contained in:
Shin'ya Ueoka 2017-10-07 07:51:39 +09:00
parent 4cb17031d1
commit 45368384d1
13 changed files with 206 additions and 261 deletions

View file

@ -1,27 +0,0 @@
import { expect } from "chai";
import actions from 'actions';
import * as completionActions from 'actions/completion';
describe("completion actions", () => {
describe('setItems', () => {
it('create COMPLETION_SET_ITEMS action', () => {
let action = completionActions.setItems([1, 2, 3]);
expect(action.type).to.equal(actions.COMPLETION_SET_ITEMS);
expect(action.groups).to.deep.equal([1, 2, 3]);
});
});
describe('selectNext', () => {
it('create COMPLETION_SELECT_NEXT action', () => {
let action = completionActions.selectNext();
expect(action.type).to.equal(actions.COMPLETION_SELECT_NEXT);
});
});
describe('selectPrev', () => {
it('create COMPLETION_SELECT_PREV action', () => {
let action = completionActions.selectPrev();
expect(action.type).to.equal(actions.COMPLETION_SELECT_PREV);
});
});
});

View file

@ -11,14 +11,6 @@ describe("console actions", () => {
});
});
describe("setCompletions", () => {
it('create CONSOLE_SET_COMPLETIONS action', () => {
let action = consoleActions.setCompletions([1,2,3]);
expect(action.type).to.equal(actions.CONSOLE_SET_COMPLETIONS);
expect(action.completions).to.deep.equal([1, 2, 3]);
});
});
describe("showError", () => {
it('create CONSOLE_SHOW_ERROR action', () => {
let action = consoleActions.showError('an error');
@ -33,5 +25,27 @@ describe("console actions", () => {
expect(action.type).to.equal(actions.CONSOLE_HIDE);
});
});
describe("setCompletions", () => {
it('create CONSOLE_SET_COMPLETIONS action', () => {
let action = consoleActions.setCompletions([1,2,3]);
expect(action.type).to.equal(actions.CONSOLE_SET_COMPLETIONS);
expect(action.completions).to.deep.equal([1, 2, 3]);
});
});
describe("completionPrev", () => {
it('create CONSOLE_COMPLETION_PREV action', () => {
let action = consoleActions.completionPrev();
expect(action.type).to.equal(actions.CONSOLE_COMPLETION_PREV);
});
});
describe("completionNext", () => {
it('create CONSOLE_COMPLETION_NEXT action', () => {
let action = consoleActions.completionNext();
expect(action.type).to.equal(actions.CONSOLE_COMPLETION_NEXT);
});
});
});

View file

@ -1,90 +0,0 @@
import { expect } from "chai";
import actions from 'actions';
import completionReducer from 'reducers/completion';
describe("completion reducer", () => {
it ('return the initial state', () => {
let state = completionReducer(undefined, {});
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
expect(state).to.have.deep.property('groups', []);
});
it ('return next state for COMPLETION_SET_ITEMS', () => {
let state = {
groupSelection: 0,
itemSelection: 0,
groups: [],
}
let action = {
type: actions.COMPLETION_SET_ITEMS,
groups: [{
name: 'Apple',
items: [1, 2, 3]
}, {
name: 'Banana',
items: [4, 5, 6]
}]
}
state = completionReducer(state, action);
expect(state).to.have.property('groups', action.groups);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
it ('return next state for COMPLETION_SELECT_NEXT', () => {
let action = { type: actions.COMPLETION_SELECT_NEXT };
let state = {
groupSelection: -1,
itemSelection: -1,
groups: [{
name: 'Apple',
items: [1, 2]
}, {
name: 'Banana',
items: [3]
}]
};
state = completionReducer(state, action);
expect(state).to.have.property('groupSelection', 0);
expect(state).to.have.property('itemSelection', 0);
state = completionReducer(state, action);
expect(state).to.have.property('groupSelection', 0);
expect(state).to.have.property('itemSelection', 1);
state = completionReducer(state, action);
state = completionReducer(state, action);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
it ('return next state for COMPLETION_SELECT_PREV', () => {
let action = { type: actions.COMPLETION_SELECT_PREV };
let state = {
groupSelection: -1,
itemSelection: -1,
groups: [{
name: 'Apple',
items: [1, 2]
}, {
name: 'Banana',
items: [3]
}]
};
state = completionReducer(state, action);
expect(state).to.have.property('groupSelection', 1);
expect(state).to.have.property('itemSelection', 0);
state = completionReducer(state, action);
expect(state).to.have.property('groupSelection', 0);
expect(state).to.have.property('itemSelection', 1);
state = completionReducer(state, action);
state = completionReducer(state, action);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
});

View file

@ -10,6 +10,8 @@ describe("console reducer", () => {
expect(state).to.have.property('commandShown', false);
expect(state).to.have.property('commandText', '');
expect(state).to.have.deep.property('completions', []);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
it('return next state for CONSOLE_SHOW_COMMAND', () => {
@ -20,12 +22,6 @@ describe("console reducer", () => {
expect(state).to.have.property('errorShown', false);
});
it('return next state for CONSOLE_SET_COMPLETIONS', () => {
let action = { type: actions.CONSOLE_SET_COMPLETIONS, completions: [1, 2, 3] };
let state = consoleReducer({}, action);
expect(state).to.have.deep.property('completions', [1, 2, 3]);
});
it('return next state for CONSOLE_SHOW_ERROR', () => {
let action = { type: actions.CONSOLE_SHOW_ERROR, text: 'an error' };
let state = consoleReducer({}, action);
@ -40,4 +36,83 @@ describe("console reducer", () => {
expect(state).to.have.property('errorShown', false);
expect(state).to.have.property('commandShown', false);
});
it ('return next state for CONSOLE_SET_COMPLETIONS', () => {
let state = {
groupSelection: 0,
itemSelection: 0,
completions: [],
}
let action = {
type: actions.CONSOLE_SET_COMPLETIONS,
completions: [{
name: 'Apple',
items: [1, 2, 3]
}, {
name: 'Banana',
items: [4, 5, 6]
}]
}
state = consoleReducer(state, action);
expect(state).to.have.property('completions', action.completions);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
it ('return next state for CONSOLE_COMPLETION_NEXT', () => {
let action = { type: actions.CONSOLE_COMPLETION_NEXT };
let state = {
groupSelection: -1,
itemSelection: -1,
completions: [{
name: 'Apple',
items: [1, 2]
}, {
name: 'Banana',
items: [3]
}]
};
state = consoleReducer(state, action);
expect(state).to.have.property('groupSelection', 0);
expect(state).to.have.property('itemSelection', 0);
state = consoleReducer(state, action);
expect(state).to.have.property('groupSelection', 0);
expect(state).to.have.property('itemSelection', 1);
state = consoleReducer(state, action);
state = consoleReducer(state, action);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
it ('return next state for CONSOLE_COMPLETION_PREV', () => {
let action = { type: actions.CONSOLE_COMPLETION_PREV };
let state = {
groupSelection: -1,
itemSelection: -1,
completions: [{
name: 'Apple',
items: [1, 2]
}, {
name: 'Banana',
items: [3]
}]
};
state = consoleReducer(state, action);
expect(state).to.have.property('groupSelection', 1);
expect(state).to.have.property('itemSelection', 0);
state = consoleReducer(state, action);
expect(state).to.have.property('groupSelection', 0);
expect(state).to.have.property('itemSelection', 1);
state = consoleReducer(state, action);
state = consoleReducer(state, action);
expect(state).to.have.property('groupSelection', -1);
expect(state).to.have.property('itemSelection', -1);
});
});