diff options
Diffstat (limited to 'test/reducers')
| -rw-r--r-- | test/reducers/completion.test.js | 90 | ||||
| -rw-r--r-- | test/reducers/console.test.js | 87 | 
2 files changed, 81 insertions, 96 deletions
| diff --git a/test/reducers/completion.test.js b/test/reducers/completion.test.js deleted file mode 100644 index b2b36d9..0000000 --- a/test/reducers/completion.test.js +++ /dev/null @@ -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); -  }); -}); diff --git a/test/reducers/console.test.js b/test/reducers/console.test.js index d9f500f..5ebf4bc 100644 --- a/test/reducers/console.test.js +++ b/test/reducers/console.test.js @@ -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); +  }); +  }); | 
