aboutsummaryrefslogtreecommitdiff
path: root/test/console/reducers
diff options
context:
space:
mode:
authorShin'ya Ueoka <ueokande@i-beam.org>2020-05-02 17:25:56 +0900
committerGitHub <noreply@github.com>2020-05-02 17:25:56 +0900
commit5df0537bcf65a341e79852b1b30379c73318529c (patch)
treeaee5efe52412855f620cb514a13a2c14373f27b7 /test/console/reducers
parent685f2b7b69218b06b5bb676069e35f79c5048c9b (diff)
parent75abd90ecb8201ad845b266f96220d8adfe19b2d (diff)
Merge pull request #749 from ueokande/qa-0.28
QA 0.28
Diffstat (limited to 'test/console/reducers')
-rw-r--r--test/console/reducers/console.test.ts197
1 files changed, 115 insertions, 82 deletions
diff --git a/test/console/reducers/console.test.ts b/test/console/reducers/console.test.ts
index 038e712..64e8eb3 100644
--- a/test/console/reducers/console.test.ts
+++ b/test/console/reducers/console.test.ts
@@ -1,131 +1,164 @@
-import * as actions from 'console/actions';
-import reducer from 'console/reducers';
+import * as actions from "../../../src/console/actions";
+import reducer, { State } from "../../../src/console/reducers";
+import { expect } from "chai";
+import CompletionType from "../../../src/shared/CompletionType";
+import { ConsoleAction } from "../../../src/console/actions";
describe("console reducer", () => {
- it('return the initial state', () => {
- const state = reducer(undefined, {});
- expect(state).to.have.property('mode', '');
- expect(state).to.have.property('messageText', '');
- expect(state).to.have.property('consoleText', '');
- expect(state).to.have.deep.property('completions', []);
- expect(state).to.have.property('select', -1);
+ it("return the initial state", () => {
+ const state = reducer(undefined, {} as any);
+ expect(state).to.have.property("mode", "");
+ expect(state).to.have.property("messageText", "");
+ expect(state).to.have.property("consoleText", "");
+ expect(state).to.have.deep.property("completions", []);
+ expect(state).to.have.property("select", -1);
});
- it('return next state for CONSOLE_HIDE', () => {
- const action = { type: actions.CONSOLE_HIDE };
- const state = reducer({ mode: 'error' }, action);
- expect(state).to.have.property('mode', '');
- })
-
- it('return next state for CONSOLE_SHOW_COMMAND', () => {
- const action = { type: actions.CONSOLE_SHOW_COMMAND, text: 'open ' };
- const state = reducer({}, action);
- expect(state).to.have.property('mode', 'command');
- expect(state).to.have.property('consoleText', 'open ');
+ it("return next state for CONSOLE_HIDE", () => {
+ const initialState = reducer(undefined, {} as any);
+ const action: actions.ConsoleAction = { type: actions.CONSOLE_HIDE };
+ const state = reducer({ ...initialState, mode: "error" }, action);
+ expect(state).to.have.property("mode", "");
});
- it('return next state for CONSOLE_SHOW_INFO', () => {
- const action = { type: actions.CONSOLE_SHOW_INFO, text: 'an info' };
- const state = reducer({}, action);
- expect(state).to.have.property('mode', 'info');
- expect(state).to.have.property('messageText', 'an info');
+ it("return next state for CONSOLE_SHOW_COMMAND", () => {
+ const action: actions.ConsoleAction = {
+ type: actions.CONSOLE_SHOW_COMMAND,
+ completionTypes: [CompletionType.SearchEngines, CompletionType.History],
+ text: "open ",
+ };
+ const state = reducer(undefined, action);
+ expect(state).to.have.property("mode", "command");
+ expect(state).to.have.property("consoleText", "open ");
});
- it('return next state for CONSOLE_SHOW_ERROR', () => {
- const action = { type: actions.CONSOLE_SHOW_ERROR, text: 'an error' };
- const state = reducer({}, action);
- expect(state).to.have.property('mode', 'error');
- expect(state).to.have.property('messageText', 'an error');
+ it("return next state for CONSOLE_SHOW_INFO", () => {
+ const action: actions.ConsoleAction = {
+ type: actions.CONSOLE_SHOW_INFO,
+ text: "an info",
+ };
+ const state = reducer(undefined, action);
+ expect(state).to.have.property("mode", "info");
+ expect(state).to.have.property("messageText", "an info");
+ });
+
+ it("return next state for CONSOLE_SHOW_ERROR", () => {
+ const action: actions.ConsoleAction = {
+ type: actions.CONSOLE_SHOW_ERROR,
+ text: "an error",
+ };
+ const state = reducer(undefined, action);
+ expect(state).to.have.property("mode", "error");
+ expect(state).to.have.property("messageText", "an error");
});
- it('return next state for CONSOLE_HIDE_COMMAND', () => {
- const action = { type: actions.CONSOLE_HIDE_COMMAND };
- let state = reducer({ mode: 'command' }, action);
- expect(state).to.have.property('mode', '');
+ it("return next state for CONSOLE_HIDE_COMMAND", () => {
+ const initialState = reducer(undefined, {} as any);
+ const action: actions.ConsoleAction = {
+ type: actions.CONSOLE_HIDE_COMMAND,
+ };
+ let state = reducer({ ...initialState, mode: "command" }, action);
+ expect(state).to.have.property("mode", "");
- state = reducer({ mode: 'error' }, action);
- expect(state).to.have.property('mode', 'error');
+ state = reducer({ ...initialState, mode: "error" }, action);
+ expect(state).to.have.property("mode", "error");
});
- it('return next state for CONSOLE_SET_CONSOLE_TEXT', () => {
- const action = {
+ it("return next state for CONSOLE_SET_CONSOLE_TEXT", () => {
+ const action: actions.ConsoleAction = {
type: actions.CONSOLE_SET_CONSOLE_TEXT,
- consoleText: 'hello world'
- }
- const state = reducer({}, action)
+ consoleText: "hello world",
+ };
+ const state = reducer(undefined, action);
- expect(state).to.have.property('consoleText', 'hello world');
+ expect(state).to.have.property("consoleText", "hello world");
});
- it ('return next state for CONSOLE_SET_COMPLETIONS', () => {
- let state = {
+ it("return next state for CONSOLE_SET_COMPLETIONS", () => {
+ const initialState = reducer(undefined, {} as any);
+ let state: State = {
+ ...initialState,
select: 0,
completions: [],
- }
- const action = {
+ };
+ const action: actions.ConsoleAction = {
type: actions.CONSOLE_SET_COMPLETIONS,
- completions: [{
- name: 'Apple',
- items: [1, 2, 3]
- }, {
- name: 'Banana',
- items: [4, 5, 6]
- }]
- }
+ completions: [
+ {
+ name: "Apple",
+ items: [{}, {}, {}],
+ },
+ {
+ name: "Banana",
+ items: [{}, {}, {}],
+ },
+ ],
+ completionSource: "",
+ };
state = reducer(state, action);
- expect(state).to.have.property('completions', action.completions);
- expect(state).to.have.property('select', -1);
+ expect(state).to.have.property("completions", action.completions);
+ expect(state).to.have.property("select", -1);
});
- it ('return next state for CONSOLE_COMPLETION_NEXT', () => {
- const action = { type: actions.CONSOLE_COMPLETION_NEXT };
+ it("return next state for CONSOLE_COMPLETION_NEXT", () => {
+ const initialState = reducer(undefined, {} as any);
+ const action: ConsoleAction = { type: actions.CONSOLE_COMPLETION_NEXT };
let state = {
+ ...initialState,
select: -1,
- completions: [{
- name: 'Apple',
- items: [1, 2]
- }, {
- name: 'Banana',
- items: [3]
- }]
+ completions: [
+ {
+ name: "Apple",
+ items: [{}, {}],
+ },
+ {
+ name: "Banana",
+ items: [{}],
+ },
+ ],
};
state = reducer(state, action);
- expect(state).to.have.property('select', 0);
+ expect(state).to.have.property("select", 0);
state = reducer(state, action);
- expect(state).to.have.property('select', 1);
+ expect(state).to.have.property("select", 1);
state = reducer(state, action);
- expect(state).to.have.property('select', 2);
+ expect(state).to.have.property("select", 2);
state = reducer(state, action);
- expect(state).to.have.property('select', -1);
+ expect(state).to.have.property("select", -1);
});
- it ('return next state for CONSOLE_COMPLETION_PREV', () => {
- const action = { type: actions.CONSOLE_COMPLETION_PREV };
+ it("return next state for CONSOLE_COMPLETION_PREV", () => {
+ const initialState = reducer(undefined, {} as any);
+ const action: ConsoleAction = { type: actions.CONSOLE_COMPLETION_PREV };
let state = {
+ ...initialState,
select: -1,
- completions: [{
- name: 'Apple',
- items: [1, 2]
- }, {
- name: 'Banana',
- items: [3]
- }]
+ completions: [
+ {
+ name: "Apple",
+ items: [{}, {}],
+ },
+ {
+ name: "Banana",
+ items: [{}],
+ },
+ ],
};
state = reducer(state, action);
- expect(state).to.have.property('select', 2);
+ expect(state).to.have.property("select", 2);
state = reducer(state, action);
- expect(state).to.have.property('select', 1);
+ expect(state).to.have.property("select", 1);
state = reducer(state, action);
- expect(state).to.have.property('select', 0);
+ expect(state).to.have.property("select", 0);
state = reducer(state, action);
- expect(state).to.have.property('select', -1);
+ expect(state).to.have.property("select", -1);
});
});