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