aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/__tests__/ducks/ui.js
blob: 81ae852cd72916bdcdf5038ce220330c3b625ac4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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'})
    })
});