diff options
Diffstat (limited to 'web/src/js/__tests__/ducks/ui.js')
-rw-r--r-- | web/src/js/__tests__/ducks/ui.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/web/src/js/__tests__/ducks/ui.js b/web/src/js/__tests__/ducks/ui.js new file mode 100644 index 00000000..81ae852c --- /dev/null +++ b/web/src/js/__tests__/ducks/ui.js @@ -0,0 +1,35 @@ +jest.unmock("../../ducks/ui"); +jest.unmock("../../ducks/flows"); + +import reducer, {setActiveMenu} from '../../ducks/ui'; +import {SELECT_FLOW} from '../../ducks/flows'; + +describe("ui reducer", () => { + it("should return the initial state", () => { + expect(reducer(undefined, {})).toEqual({ activeMenu: 'Start'}) + }), + it("should return the state for view", () => { + expect(reducer(undefined, setActiveMenu('View'))).toEqual({ activeMenu: 'View'}) + }), + it("should change the state to Start when deselecting a flow and we a currently at the flow tab", () => { + expect(reducer({activeMenu: 'Flow'}, + { type: SELECT_FLOW, + currentSelection: '1', + flowId : undefined + })).toEqual({ activeMenu: 'Start'}) + }), + it("should change the state to Flow when we selected a flow and no flow was selected before", () => { + expect(reducer({activeMenu: 'Start'}, + { type: SELECT_FLOW, + currentSelection: undefined, + flowId : '1' + })).toEqual({ activeMenu: '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'}, + { type: SELECT_FLOW, + currentSelection: '1', + flowId : '2' + })).toEqual({ activeMenu: 'Options'}) + }) +}); |