add follow action and reducers test
This commit is contained in:
		
							parent
							
								
									0a7ae631cd
								
							
						
					
					
						commit
						fc36195e79
					
				
					 2 changed files with 82 additions and 0 deletions
				
			
		
							
								
								
									
										35
									
								
								test/actions/follow.test.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								test/actions/follow.test.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,35 @@ | ||||||
|  | import { expect } from "chai"; | ||||||
|  | import actions from '../../src/actions'; | ||||||
|  | import * as followActions from '../../src/actions/follow'; | ||||||
|  | 
 | ||||||
|  | describe('follow actions', () => { | ||||||
|  |   describe('enable', () => { | ||||||
|  |     it('creates FOLLOW_ENABLE action', () => { | ||||||
|  |       let action = followActions.enable(true); | ||||||
|  |       expect(action.type).to.equal(actions.FOLLOW_ENABLE); | ||||||
|  |       expect(action.newTab).to.equal(true); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   describe('disable', () => { | ||||||
|  |     it('creates FOLLOW_DISABLE action', () => { | ||||||
|  |       let action = followActions.disable(true); | ||||||
|  |       expect(action.type).to.equal(actions.FOLLOW_DISABLE); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   describe('keyPress', () => { | ||||||
|  |     it('creates FOLLOW_KEY_PRESS action', () => { | ||||||
|  |       let action = followActions.keyPress(100); | ||||||
|  |       expect(action.type).to.equal(actions.FOLLOW_KEY_PRESS); | ||||||
|  |       expect(action.key).to.equal(100); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   describe('backspace', () => { | ||||||
|  |     it('creates FOLLOW_BACKSPACE action', () => { | ||||||
|  |       let action = followActions.backspace(100); | ||||||
|  |       expect(action.type).to.equal(actions.FOLLOW_BACKSPACE); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
							
								
								
									
										47
									
								
								test/reducers/follow.test.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								test/reducers/follow.test.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,47 @@ | ||||||
|  | import { expect } from "chai"; | ||||||
|  | import actions from '../../src/actions'; | ||||||
|  | import followReducer from '../../src/reducers/follow'; | ||||||
|  | 
 | ||||||
|  | describe('follow reducer', () => { | ||||||
|  |   it ('returns the initial state', () => { | ||||||
|  |     let state = followReducer(undefined, {}); | ||||||
|  |     expect(state).to.have.property('enabled', false); | ||||||
|  |     expect(state).to.have.property('newTab'); | ||||||
|  |     expect(state).to.have.deep.property('keys', []); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it ('returns next state for FOLLOW_ENABLE', () => { | ||||||
|  |     let action = { type: actions.FOLLOW_ENABLE, newTab: true }; | ||||||
|  |     let state = followReducer({ enabled: false, newTab: false }, action); | ||||||
|  |     expect(state).to.have.property('enabled', true); | ||||||
|  |     expect(state).to.have.property('newTab', true); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it ('returns next state for FOLLOW_DISABLE', () => { | ||||||
|  |     let action = { type: actions.FOLLOW_DISABLE }; | ||||||
|  |     let state = followReducer({ enabled: true }, action); | ||||||
|  |     expect(state).to.have.property('enabled', false); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it ('returns next state for FOLLOW_KEY_PRESS', () => { | ||||||
|  |     let action = { type: actions.FOLLOW_KEY_PRESS, key: 100}; | ||||||
|  |     let state = followReducer({ keys: [] }, action); | ||||||
|  |     expect(state).to.have.deep.property('keys', [100]); | ||||||
|  | 
 | ||||||
|  |     action = { type: actions.FOLLOW_KEY_PRESS, key: 200}; | ||||||
|  |     state = followReducer(state, action); | ||||||
|  |     expect(state).to.have.deep.property('keys', [100, 200]); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   it ('returns next state for FOLLOW_BACKSPACE', () => { | ||||||
|  |     let action = { type: actions.FOLLOW_BACKSPACE }; | ||||||
|  |     let state = followReducer({ keys: [100, 200] }, action); | ||||||
|  |     expect(state).to.have.deep.property('keys', [100]); | ||||||
|  | 
 | ||||||
|  |     state = followReducer(state, action); | ||||||
|  |     expect(state).to.have.deep.property('keys', []); | ||||||
|  | 
 | ||||||
|  |     state = followReducer(state, action); | ||||||
|  |     expect(state).to.have.deep.property('keys', []); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
		Reference in a new issue