diff options
Diffstat (limited to 'web/src/js/__tests__/ducks/ui/headerSpec.js')
-rw-r--r-- | web/src/js/__tests__/ducks/ui/headerSpec.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/web/src/js/__tests__/ducks/ui/headerSpec.js b/web/src/js/__tests__/ducks/ui/headerSpec.js new file mode 100644 index 00000000..8968e636 --- /dev/null +++ b/web/src/js/__tests__/ducks/ui/headerSpec.js @@ -0,0 +1,36 @@ +jest.unmock('../../../ducks/ui/header') +jest.unmock('../../../ducks/flows') + +import reducer, { setActiveMenu } from '../../../ducks/ui/header' +import * as flowActions from '../../../ducks/flows' + +describe('header reducer', () => { + it('should return the initial state', () => { + expect(reducer(undefined, {}).activeMenu).toEqual('Start') + }) + + it('should return the state for view', () => { + expect(reducer(undefined, setActiveMenu('View')).activeMenu).toEqual('View') + }) + + it('should change the state to Start when deselecting a flow and we a currently at the flow tab', () => { + expect(reducer( + { activeMenu: 'Flow', isFlowSelected: true }, + flowActions.select(undefined)).activeMenu + ).toEqual('Start') + }) + + it('should change the state to Flow when we selected a flow and no flow was selected before', () => { + expect(reducer( + { activeMenu: 'Start', isFlowSelected: false }, + flowActions.select(1)).activeMenu + ).toEqual('Flow') + }) + + it('should not change the state to Flow when OPTIONS tab is selected and we selected a flow and a flow as selected before', () => { + expect(reducer( + { activeMenu: 'Options', isFlowSelected: true }, + flowActions.select(1) + ).activeMenu).toEqual('Options') + }) +}) |