2 CreateVFModuleInstanceAction,
3 DeleteActionVfModuleInstanceAction, DeleteVFModuleField,
4 DeleteVfModuleInstanceAction,
5 UndoDeleteActionVfModuleInstanceAction,
6 UpdateVFModluePosition, UpdateVFModuleField,
7 UpgradeVfModuleInstanceAction,
9 } from "./vfModule.actions";
10 import {vfModuleReducer} from "./vfModule.reducers";
11 import {VfModuleInstance} from "../../../models/vfModuleInstance";
12 import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
15 describe('vfModuleReducer', () => {
16 test('#REMOVE_VNF_MODULE_INSTANCE : should delete existing vnf module by dynamicModelName', () => {
17 let state = vfModuleReducer(<any>{
24 'dynamicModelName1': {},
25 'dynamicModelName2': {},
33 <DeleteVfModuleInstanceAction>{
34 type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE,
35 modelName: 'modelName',
37 vnfStoreKey: 'vfName',
38 serviceModelId: 'serviceModelId',
39 dynamicModelName: 'dynamicModelName1'
42 expect(state).toBeDefined();
43 expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName2']).toBeDefined();
44 expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName1']).not.toBeDefined();
47 test('#DELETE_LAST_VNF_MODULE_INSTANCE : should delete existing vnf module', () => {
48 let state = vfModuleReducer(<any>{
55 'dynamicModelName': {}
63 <DeleteVfModuleInstanceAction>{
64 type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE,
65 modelName: 'modelName',
67 vnfStoreKey: 'vfName',
68 serviceModelId: 'serviceModelId',
69 dynamicModelName: 'dynamicModelName'
72 expect(state).toBeDefined();
73 expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']).not.toBeDefined();
76 test('#CREATE_VF_MODULE: should create new vfModule to existing VNF', () => {
77 let vfModuleInstance: VfModuleInstance = new VfModuleInstance();
78 vfModuleInstance.instanceName = 'instanceName';
79 vfModuleInstance.isMissingData = false;
80 vfModuleInstance.volumeGroupName = 'volumeGroupName';
81 let vfModule = vfModuleReducer(<any>{
92 <CreateVFModuleInstanceAction>{
93 type: VfModuleActions.CREATE_VF_MODULE,
95 vfInstance: new VfModuleInstance(),
96 vnfStoreKey: 'vnfStoreKey',
97 serviceUuid: 'serviceUuid',
99 }).serviceInstance['serviceUuid'].vnfs['vnfStoreKey'].vfModules;
101 let firstVfModuleName = Object.keys(vfModule)[0];
102 expect(vfModule[firstVfModuleName]).toBeDefined();
103 expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy();
106 test('#UPDATE_VFMODULE_FEILD: should update field with some value', () => {
107 const newFieldName = 'newFieldName';
108 const newFieldValue = 'newFieldValue';
119 'dynamicModelName1': {
123 'dynamicModelName2': {},
132 let newState = vfModuleReducer(<any>oldState,
133 <UpdateVFModuleField>{
134 type: VfModuleActions.UPDATE_VFMODULE_FEILD,
135 dynamicModelName: 'dynamicModelName1',
136 vnfStoreKey: 'vnfStoreKey',
137 serviceId: 'serviceModelId',
138 modelName: 'modelName',
139 fieldName: newFieldName,
140 fieldValue: newFieldValue
143 let vfModule = newState.serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
145 expect(vfModule[newFieldName]).toEqual(newFieldValue);
148 test('#DELETE_VFMODULE_FEILD: should update field with some value', () => {
149 const deleteFieldName = 'deleteFieldName';
160 'dynamicModelName1': {
162 [deleteFieldName]: true,
165 'dynamicModelName2': {},
173 let newState = vfModuleReducer(<any>oldState,
174 <DeleteVFModuleField>{
175 type: VfModuleActions.DELETE_VFMODULE_FEILD,
176 dynamicModelName: 'dynamicModelName1',
177 vnfStoreKey: 'vnfStoreKey',
178 serviceId: 'serviceModelId',
179 modelName: 'modelName',
180 deleteFieldName: deleteFieldName,
183 let vfModule = newState.serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
185 expect(vfModule[deleteFieldName]).toBeUndefined();
188 test('#UPDATE_VFMODULE_POSITION: should update position', () => {
189 let vfModule = vfModuleReducer(<any>{
199 'dynamicModelName': {
209 <UpdateVFModluePosition>{
210 type: VfModuleActions.UPDATE_VFMODULE_POSITION,
213 dynamicModelName: "dynamicModelName",
214 modelName: "modelName"
216 instanceId: "serviceModelId",
217 vnfStoreKey: "vfName"
219 }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules["modelName"]["dynamicModelName"];
221 expect(vfModule.position).toEqual(1);
224 test('#DELETE_ACTION_VF_MODULE_INSTANCE', () => {
225 let vfModule = vfModuleReducer(<any>{
235 'dynamicModelName1': {
239 'dynamicModelName2': {},
247 <DeleteActionVfModuleInstanceAction>{
248 type: VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE,
249 dynamicModelName: 'dynamicModelName1',
250 vnfStoreKey: 'vnfStoreKey',
251 serviceId: 'serviceModelId'
252 }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
254 console.log(vfModule.action);
255 expect(vfModule).toBeDefined();
256 expect(vfModule.isMissingData).toBeTruthy();
257 expect(vfModule.action).toEqual(ServiceInstanceActions.None_Delete);
260 test('#UNDO_DELETE_ACTION_VF_MODULE_INSTANCE', () => {
261 let vfModule = vfModuleReducer(<any>{
271 'dynamicModelName1': {
273 action: 'None_Delete'
275 'dynamicModelName2': {},
283 <UndoDeleteActionVfModuleInstanceAction>{
284 type: VfModuleActions.UNDO_DELETE_ACTION_VF_MODULE_INSTANCE,
285 dynamicModelName: 'dynamicModelName1',
286 vnfStoreKey: 'vnfStoreKey',
287 serviceId: 'serviceModelId'
288 }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
290 console.log(vfModule.action);
291 expect(vfModule).toBeDefined();
292 expect(vfModule.action).toEqual(ServiceInstanceActions.None);
295 test('#UPGRADE_VFMODULE', () => {
296 let vfModule = vfModuleReducer(<any>{
306 'dynamicModelName1': {
310 'dynamicModelName2': {},
318 <UpgradeVfModuleInstanceAction>{
319 type: VfModuleActions.UPGRADE_VFMODULE,
320 dynamicModelName: 'dynamicModelName1',
321 vnfStoreKey: 'vnfStoreKey',
322 serviceId: 'serviceModelId',
323 modelName: 'modelName'
324 }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
326 expect(vfModule.action).toEqual(ServiceInstanceActions.None_Upgrade);
329 test('#UNDO_UPGRADE_VFMODULE', () => {
330 let vfModule = vfModuleReducer(<any>{
340 'dynamicModelName1': {
342 action: 'None_Upgrade'
344 'dynamicModelName2': {},
352 <UpgradeVfModuleInstanceAction>{
353 type: VfModuleActions.UNDO_UPGRADE_VFMODULE_ACTION,
354 dynamicModelName: 'dynamicModelName1',
355 vnfStoreKey: 'vnfStoreKey',
356 serviceId: 'serviceModelId',
357 modelName: 'modelName'
358 }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
360 expect(vfModule.action).toEqual(ServiceInstanceActions.None);