add console actions/reducer tests and fix targets
This commit is contained in:
parent
e8056d2a70
commit
7e35d11f65
4 changed files with 88 additions and 8 deletions
|
@ -1,12 +1,12 @@
|
|||
import './console.scss';
|
||||
import Completion from './completion';
|
||||
import consoleReducer, { defaultState } from '../reducers/console';
|
||||
import consoleReducer from '../reducers/console';
|
||||
|
||||
// TODO consider object-oriented
|
||||
var prevValue = "";
|
||||
var completion = null;
|
||||
var completionOrigin = "";
|
||||
let state = defaultState;
|
||||
let state = consoleReducer(undefined, {});
|
||||
|
||||
const blurMessage = () => {
|
||||
return {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import actions from '../actions';
|
||||
|
||||
export const defaultState = {
|
||||
errorText: '',
|
||||
const defaultState = {
|
||||
errorShown: false,
|
||||
commandText: '',
|
||||
errorText: '',
|
||||
commandShown: false,
|
||||
commandText: '',
|
||||
completions: [],
|
||||
};
|
||||
|
||||
|
@ -14,7 +14,7 @@ export default function reducer(state = defaultState, action = {}) {
|
|||
return Object.assign({}, state, {
|
||||
commandShown: true,
|
||||
commandText: action.text,
|
||||
errorShow: false,
|
||||
errorShown: false,
|
||||
completions: []
|
||||
});
|
||||
case actions.CONSOLE_SET_COMPLETIONS:
|
||||
|
@ -23,8 +23,8 @@ export default function reducer(state = defaultState, action = {}) {
|
|||
});
|
||||
case actions.CONSOLE_SHOW_ERROR:
|
||||
return Object.assign({}, state, {
|
||||
errorText: action.message,
|
||||
errorShow: true,
|
||||
errorText: action.text,
|
||||
errorShown: true,
|
||||
commandShown: false,
|
||||
});
|
||||
case actions.CONSOLE_HIDE:
|
||||
|
|
37
test/actions/console.test.js
Normal file
37
test/actions/console.test.js
Normal file
|
@ -0,0 +1,37 @@
|
|||
import { expect } from "chai";
|
||||
import actions from '../../src/actions';
|
||||
import * as consoleActions from '../../src/actions/console';
|
||||
|
||||
describe("console actions", () => {
|
||||
describe("showCommand", () => {
|
||||
it('create CONSOLE_SHOW_COMMAND action', () => {
|
||||
let action = consoleActions.showCommand('hello');
|
||||
expect(action.type).to.equal(actions.CONSOLE_SHOW_COMMAND);
|
||||
expect(action.text).to.equal('hello');
|
||||
});
|
||||
});
|
||||
|
||||
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');
|
||||
expect(action.type).to.equal(actions.CONSOLE_SHOW_ERROR);
|
||||
expect(action.text).to.equal('an error');
|
||||
});
|
||||
});
|
||||
|
||||
describe("hide", () => {
|
||||
it('create CONSOLE_HIDE action', () => {
|
||||
let action = consoleActions.hide();
|
||||
expect(action.type).to.equal(actions.CONSOLE_HIDE);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
43
test/reducers/console.test.js
Normal file
43
test/reducers/console.test.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
import { expect } from "chai";
|
||||
import actions from '../../src/actions';
|
||||
import consoleReducer from '../../src/reducers/console';
|
||||
|
||||
describe("console reducer", () => {
|
||||
it('return the initial state', () => {
|
||||
let state = consoleReducer(undefined, {});
|
||||
expect(state).to.have.property('errorShown', false);
|
||||
expect(state).to.have.property('errorText', '');
|
||||
expect(state).to.have.property('commandShown', false);
|
||||
expect(state).to.have.property('commandText', '');
|
||||
expect(state).to.have.deep.property('completions', []);
|
||||
});
|
||||
|
||||
it('return next state for CONSOLE_SHOW_COMMAND', () => {
|
||||
let action = { type: actions.CONSOLE_SHOW_COMMAND, text: 'open ' };
|
||||
let state = consoleReducer({}, action);
|
||||
expect(state).to.have.property('commandShown', true);
|
||||
expect(state).to.have.property('commandText', 'open ');
|
||||
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);
|
||||
expect(state).to.have.property('errorShown', true);
|
||||
expect(state).to.have.property('errorText', 'an error');
|
||||
expect(state).to.have.property('commandShown', false);
|
||||
});
|
||||
|
||||
it('return next state for CONSOLE_HIDE', () => {
|
||||
let action = { type: actions.CONSOLE_HIDE };
|
||||
let state = consoleReducer({}, action);
|
||||
expect(state).to.have.property('errorShown', false);
|
||||
expect(state).to.have.property('commandShown', false);
|
||||
});
|
||||
});
|
Reference in a new issue