Merge from ecomp 718fd196 - Modern UI
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / global / global.reducers.spec.ts
1 import {
2   GlobalActions,
3   UpdateFlagsAction,
4   UpdateGlobalAction,
5   UpdateDrawingBoardStatusAction,
6   UpdateGenericModalCriteria,
7   UpdateGenericModalHelper,
8   DeleteGenericModalHelper,
9   ClearGenericModalHelper,
10   UpdateGenericModalTableDataHelper
11 } from "./global.actions";
12 import {globalReducer} from "./global.reducers";
13
14
15 describe('globalReducer', () => {
16
17   test('#UPDATE_FLAGS : should update global flags', () => {
18     const flags = {
19       'A' : 'A',
20       'B' : 'B',
21       'C' : 'C',
22       'D' : 'D'
23     };
24     let flagsState = globalReducer(<any>{global : {}},
25       <UpdateFlagsAction>{
26         type: GlobalActions.UPDATE_FLAGS,
27         flags : flags
28       }).flags;
29
30     expect(flagsState).toBeDefined();
31     expect(<any>flagsState).toEqual(<any>flags);
32   });
33
34   test('#UPDATE_NAME : should update global name', () => {
35     const name = 'name';
36     let globalState = globalReducer(<any>{global : {}},
37       <UpdateGlobalAction>{
38         type: GlobalActions.UPDATE_NAME,
39         name : name
40       });
41     expect(globalState).toBeDefined();
42     expect(globalState.name).toEqual(name);
43   });
44
45   test('#UPDATE_DRAWING_BOARD_STATUS : should update global drawing board status',  ()=> {
46     const drawingBoardStatus = 'EDIT';
47     let globalDrawingBoardState = globalReducer(<any>{global : {}},
48       <UpdateDrawingBoardStatusAction>{
49         type: GlobalActions.UPDATE_DRAWING_BOARD_STATUS,
50         drawingBoardStatus : drawingBoardStatus
51       });
52     expect(globalDrawingBoardState).toBeDefined();
53     expect(globalDrawingBoardState.drawingBoardStatus).toEqual(drawingBoardStatus);
54   });
55
56   test('#UPDATE_GENERIC_MODAL_CRITERIA : should update updateGenericModalCriteria object',  ()=> {
57     const values  = ["value1", "value2"];
58     const fieldName = "someFieldName";
59     let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalCriteria : {}},
60       <UpdateGenericModalCriteria>{
61         type: GlobalActions.UPDATE_GENERIC_MODAL_CRITERIA,
62         field : fieldName,
63         values : values
64       });
65     expect(globalDrawingBoardState).toBeDefined();
66     expect(globalDrawingBoardState.genericModalCriteria[fieldName]).toEqual(values);
67   });
68
69   test('#UPDATE_GENERIC_MODAL_HELPER : should update updateGenericModalHelper object',  ()=> {
70     const uniqObjectField = "uniqObjectField";
71     const values  = {name : "value1", uniqObjectField: uniqObjectField};
72     const fieldName = "someFieldName";
73
74     let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : {}},
75       <UpdateGenericModalHelper>{
76         type: GlobalActions.UPDATE_GENERIC_MODAL_HELPER,
77         field : fieldName,
78         values : values,
79         uniqObjectField : uniqObjectField
80       });
81     expect(globalDrawingBoardState).toBeDefined();
82     expect(globalDrawingBoardState.genericModalHelper[fieldName][uniqObjectField]).toEqual({"name": "value1", "uniqObjectField": "uniqObjectField"});
83   });
84
85   test('#DELETE_GENERIC_MODAL_HELPER : should delete exist ',  ()=> {
86     const uniqObjectField = "uniqObjectField";
87     const fieldName = "someFieldName";
88
89     let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : {
90           "someFieldName" : {
91             "uniqObjectField" : true
92           }
93         }},
94       <DeleteGenericModalHelper>{
95         type: GlobalActions.DELETE_GENERIC_MODAL_HELPER,
96         field : fieldName,
97         uniqObjectField : uniqObjectField
98       });
99     expect(globalDrawingBoardState).toBeDefined();
100     expect(globalDrawingBoardState.genericModalHelper[fieldName][uniqObjectField]).toBeUndefined();
101   });
102
103   test('#CLEAR_ALL_GENERIC_MODAL_HELPER : should clear  generic modal object',  ()=> {
104
105     let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : {
106           "someFieldName" : {
107             "uniqObjectField" : true
108           }
109         }},
110       <ClearGenericModalHelper>{
111         type: GlobalActions.CLEAR_ALL_GENERIC_MODAL_HELPER
112       });
113     expect(globalDrawingBoardState.genericModalHelper).toEqual({});
114   });
115
116   test('#UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER : should update table data with some values',  ()=> {
117     const keyName: string = 'VPN_DATA';
118     const someValue: string = 'SOME_VALUE';
119
120     let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : {
121
122         }},
123       <UpdateGenericModalTableDataHelper>{
124         type: GlobalActions.UPDATE_GENERIC_MODAL_TABLE_DATA_HELPER,
125         field : keyName,
126         values : someValue
127       });
128     expect(globalDrawingBoardState.genericModalHelper[keyName]).toEqual(someValue);
129   });
130
131   test('#DELETE_GENERIC_MODAL_TABLE_DATA_HELPER : should delete table data',  ()=> {
132     const keyName: string = 'VPN_DATA';
133     const someValue: string = 'SOME_VALUE';
134
135     let globalDrawingBoardState = globalReducer(<any>{global : {},genericModalHelper : {
136           [keyName] : someValue
137         }},
138       <UpdateGenericModalTableDataHelper>{
139         type: GlobalActions.DELETE_GENERIC_MODAL_TABLE_DATA_HELPER,
140         field : keyName
141       });
142     expect(globalDrawingBoardState.genericModalHelper[keyName]).toBeUndefined();
143   });
144
145 });
146
147
148