Add Semicolon at the end
[vid.git] / vid-webpack-master / src / app / shared / storeUtil / utils / vfModule / vfModule.reducers.spec.ts
1 import {
2   CreateVFModuleInstanceAction,
3   DeleteActionVfModuleInstanceAction,
4   DeleteVfModuleInstanceAction, UndoDeleteActionVfModuleInstanceAction, UpdateVFModluePosition,
5   VfModuleActions
6 } from "./vfModule.actions";
7 import {vfModuleReducer} from "./vfModule.reducers";
8 import {VfModuleInstance} from "../../../models/vfModuleInstance";
9 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
10
11
12 describe('vfModuleReducer', () => {
13   test('#REMOVE_VNF_MODULE_INSTANCE : should delete existing vnf module by dynamicModelName', () => {
14     let state = vfModuleReducer(<any>{serviceInstance : {
15           'serviceModelId' : {
16             vnfs : {
17               'vfName' : {
18                 vfModules : {
19                   'modelName' : {
20                     'dynamicModelName1': {},
21                     'dynamicModelName2': {},
22                   }
23                 }
24               }
25             }
26           }
27         }},
28       <DeleteVfModuleInstanceAction>{
29         type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE,
30         modelName : 'modelName',
31         vfName : 'vfName',
32         vnfStoreKey : 'vfName',
33         serviceModelId : 'serviceModelId',
34         dynamicModelName: 'dynamicModelName1'
35       });
36
37     expect(state).toBeDefined();
38     expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName2']).toBeDefined();
39     expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName1']).not.toBeDefined();
40   });
41
42   test('#DELETE_LAST_VNF_MODULE_INSTANCE : should delete existing vnf module', () => {
43     let state = vfModuleReducer(<any>{serviceInstance : {
44           'serviceModelId' : {
45             vnfs : {
46               'vfName' : {
47                 vfModules : {
48                   'modelName' : {
49                     'dynamicModelName': {
50                     }
51                   }
52                 }
53               }
54             }
55           }
56         }},
57       <DeleteVfModuleInstanceAction>{
58         type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE,
59         modelName : 'modelName',
60         vfName : 'vfName',
61         vnfStoreKey : 'vfName',
62         serviceModelId : 'serviceModelId',
63         dynamicModelName: 'dynamicModelName'
64       });
65
66     expect(state).toBeDefined();
67     expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']).not.toBeDefined();
68   });
69
70   test('#CREATE_VF_MODULE: should create new vfModule to existing VNF', ()=>{
71     let vfModuleInstance : VfModuleInstance = new VfModuleInstance();
72     vfModuleInstance.instanceName = 'instanceName';
73     vfModuleInstance.isMissingData = false;
74     vfModuleInstance.volumeGroupName = 'volumeGroupName';
75     let vfModule = vfModuleReducer(<any>{serviceInstance : {
76           'serviceUuid' : {
77             vnfs : {
78               'vnfStoreKey' : {
79                 'vfModules' : {
80                 }
81               }
82             }
83           }
84         }},
85       <CreateVFModuleInstanceAction>{
86         type: VfModuleActions.CREATE_VF_MODULE,
87         vfId : 'vfId',
88         vfInstance : new VfModuleInstance(),
89         vnfStoreKey : 'vnfStoreKey',
90         serviceUuid : 'serviceUuid',
91         index : 1
92       }).serviceInstance['serviceUuid'].vnfs['vnfStoreKey'].vfModules;
93
94     let firstVfModuleName = Object.keys(vfModule)[0];
95     expect(vfModule[firstVfModuleName]).toBeDefined();
96     expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy();
97   });
98
99   test('#UPDATE_VF_MODULE: should update existing VFModule', ()=>{
100     let vfModuleInstance : VfModuleInstance = new VfModuleInstance();
101     vfModuleInstance.instanceName = 'instanceName';
102     vfModuleInstance.isMissingData = false;
103     vfModuleInstance.volumeGroupName = 'volumeGroupName';
104     let vfModule = vfModuleReducer(<any>{
105       serviceHierarchy : {
106         'serviceModelId' : {}
107       },
108       serviceInstance : {
109           'serviceModelId' : {
110             vnfs : {
111               'vfName' : {
112                 vfModules : {
113                   'modelName' : {
114                     'dynamicModelName1': {
115                       isMissingData : true
116                     },
117                     'dynamicModelName2': {},
118                   }
119                 }
120               }
121             }
122           }
123         }},
124       <CreateVFModuleInstanceAction>{
125         type: VfModuleActions.UPDATE_VF_MODULE,
126         vfId : 'modelName',
127         vfInstance : new VfModuleInstance(),
128         vnfStoreKey : 'vfName',
129         dynamicModelName : 'dynamicModelName1',
130         serviceUuid : 'serviceModelId',
131         index : 1
132       }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules;
133
134     let firstVfModuleName = Object.keys(vfModule)[0];
135     expect(vfModule[firstVfModuleName]).toBeDefined();
136     expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy();
137   });
138
139
140   test('#UPDATE_VFMODULE_POSITION: should update position', ()=>{
141     let vfModule = vfModuleReducer(<any>{
142         serviceHierarchy : {
143           'serviceModelId' : {}
144         },
145         serviceInstance : {
146           'serviceModelId' : {
147             vnfs : {
148               'vfName' : {
149                 vfModules : {
150                   'modelName' : {
151                     'dynamicModelName': {
152                       isMissingData : true
153                     }
154                   }
155                 }
156               }
157             }
158           }
159         }},
160       <UpdateVFModluePosition>{
161         type: VfModuleActions.UPDATE_VFMODULE_POSITION,
162         node: {
163           position : 1,
164           dynamicModelName : "dynamicModelName",
165           modelName : "modelName"
166         },
167         instanceId : "serviceModelId",
168         vnfStoreKey : "vfName"
169
170       }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules["modelName"]["dynamicModelName"];
171
172       expect(vfModule.position).toEqual(1);
173   });
174
175
176   test('#DELETE_ACTION_VF_MODULE_INSTANCE', ()=>{
177     let vfModule = vfModuleReducer(<any>{
178       serviceHierarchy : {
179         'serviceModelId' : {}
180       },
181       serviceInstance : {
182           'serviceModelId' : {
183             vnfs : {
184               'vnfStoreKey' : {
185                 vfModules : {
186                   'modelName' : {
187                     'dynamicModelName1': {
188                       isMissingData : true,
189                       action : 'None'
190                     },
191                     'dynamicModelName2': {},
192                   }
193                 }
194               }
195             }
196           }
197         }},
198       <DeleteActionVfModuleInstanceAction>{
199         type: VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE,
200         dynamicModelName: 'dynamicModelName1',
201         vnfStoreKey : 'vnfStoreKey',
202         serviceId: 'serviceModelId'
203       }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
204
205     console.log(vfModule.action);
206     expect(vfModule).toBeDefined();
207     expect(vfModule.isMissingData).toBeTruthy();
208     expect(vfModule.action).toEqual(ServiceInstanceActions.None_Delete);
209   });
210
211   test('#UNDO_DELETE_ACTION_VF_MODULE_INSTANCE', ()=>{
212     let vfModule = vfModuleReducer(<any>{
213         serviceHierarchy : {
214           'serviceModelId' : {}
215         },
216         serviceInstance : {
217           'serviceModelId' : {
218             vnfs : {
219               'vnfStoreKey' : {
220                 vfModules : {
221                   'modelName' : {
222                     'dynamicModelName1': {
223                       isMissingData : true,
224                       action : 'None_Delete'
225                     },
226                     'dynamicModelName2': {},
227                   }
228                 }
229               }
230             }
231           }
232         }},
233       <UndoDeleteActionVfModuleInstanceAction>{
234         type: VfModuleActions.UNDO_DELETE_ACTION_VF_MODULE_INSTANCE,
235         dynamicModelName: 'dynamicModelName1',
236         vnfStoreKey : 'vnfStoreKey',
237         serviceId: 'serviceModelId'
238       }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
239
240     console.log(vfModule.action);
241     expect(vfModule).toBeDefined();
242     expect(vfModule.action).toEqual(ServiceInstanceActions.None);
243   });
244
245 });
246
247
248