From 6f900cc45d7dd7f97430812b86b5c1d1693c8ae3 Mon Sep 17 00:00:00 2001 From: Ittay Stern Date: Wed, 29 Aug 2018 17:01:32 +0300 Subject: merge from ecomp a88f0072 - Modern UI Issue-ID: VID-378 Change-Id: Ibcb23dd27f550cf32ce2fe0239f0f496ae014ff6 Signed-off-by: Ittay Stern --- .../utils/vfModule/vfModule.reducers.spec.ts | 248 +++++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.spec.ts (limited to 'vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.spec.ts') diff --git a/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.spec.ts b/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.spec.ts new file mode 100644 index 000000000..de6d2142c --- /dev/null +++ b/vid-webpack-master/src/app/shared/storeUtil/utils/vfModule/vfModule.reducers.spec.ts @@ -0,0 +1,248 @@ +import { + CreateVFModuleInstanceAction, + DeleteActionVfModuleInstanceAction, + DeleteVfModuleInstanceAction, UndoDeleteActionVfModuleInstanceAction, UpdateVFModluePosition, + VfModuleActions +} from "./vfModule.actions"; +import {vfModuleReducer} from "./vfModule.reducers"; +import {VfModuleInstance} from "../../../models/vfModuleInstance"; +import {ServiceInstanceActions} from "../../../models/serviceInstanceActions"; + + +describe('vfModuleReducer', () => { + test('#REMOVE_VNF_MODULE_INSTANCE : should delete existing vnf module by dynamicModelName', () => { + let state = vfModuleReducer({serviceInstance : { + 'serviceModelId' : { + vnfs : { + 'vfName' : { + vfModules : { + 'modelName' : { + 'dynamicModelName1': {}, + 'dynamicModelName2': {}, + } + } + } + } + } + }}, + { + type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE, + modelName : 'modelName', + vfName : 'vfName', + vnfStoreKey : 'vfName', + serviceModelId : 'serviceModelId', + dynamicModelName: 'dynamicModelName1' + }); + + expect(state).toBeDefined(); + expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName2']).toBeDefined(); + expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']['dynamicModelName1']).not.toBeDefined(); + }); + + test('#DELETE_LAST_VNF_MODULE_INSTANCE : should delete existing vnf module', () => { + let state = vfModuleReducer({serviceInstance : { + 'serviceModelId' : { + vnfs : { + 'vfName' : { + vfModules : { + 'modelName' : { + 'dynamicModelName': { + } + } + } + } + } + } + }}, + { + type: VfModuleActions.REMOVE_VNF_MODULE_INSTANCE, + modelName : 'modelName', + vfName : 'vfName', + vnfStoreKey : 'vfName', + serviceModelId : 'serviceModelId', + dynamicModelName: 'dynamicModelName' + }); + + expect(state).toBeDefined(); + expect(state.serviceInstance['serviceModelId'].vnfs['vfName'].vfModules['modelName']).not.toBeDefined(); + }); + + test('#CREATE_VF_MODULE: should create new vfModule to existing VNF', ()=>{ + let vfModuleInstance : VfModuleInstance = new VfModuleInstance(); + vfModuleInstance.instanceName = 'instanceName'; + vfModuleInstance.isMissingData = false; + vfModuleInstance.volumeGroupName = 'volumeGroupName'; + let vfModule = vfModuleReducer({serviceInstance : { + 'serviceUuid' : { + vnfs : { + 'vnfStoreKey' : { + 'vfModules' : { + } + } + } + } + }}, + { + type: VfModuleActions.CREATE_VF_MODULE, + vfId : 'vfId', + vfInstance : new VfModuleInstance(), + vnfStoreKey : 'vnfStoreKey', + serviceUuid : 'serviceUuid', + index : 1 + }).serviceInstance['serviceUuid'].vnfs['vnfStoreKey'].vfModules; + + let firstVfModuleName = Object.keys(vfModule)[0]; + expect(vfModule[firstVfModuleName]).toBeDefined(); + expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy(); + }); + + test('#UPDATE_VF_MODULE: should update existing VFModule', ()=>{ + let vfModuleInstance : VfModuleInstance = new VfModuleInstance(); + vfModuleInstance.instanceName = 'instanceName'; + vfModuleInstance.isMissingData = false; + vfModuleInstance.volumeGroupName = 'volumeGroupName'; + let vfModule = vfModuleReducer({ + serviceHierarchy : { + 'serviceModelId' : {} + }, + serviceInstance : { + 'serviceModelId' : { + vnfs : { + 'vfName' : { + vfModules : { + 'modelName' : { + 'dynamicModelName1': { + isMissingData : true + }, + 'dynamicModelName2': {}, + } + } + } + } + } + }}, + { + type: VfModuleActions.UPDATE_VF_MODULE, + vfId : 'modelName', + vfInstance : new VfModuleInstance(), + vnfStoreKey : 'vfName', + dynamicModelName : 'dynamicModelName1', + serviceUuid : 'serviceModelId', + index : 1 + }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules; + + let firstVfModuleName = Object.keys(vfModule)[0]; + expect(vfModule[firstVfModuleName]).toBeDefined(); + expect(vfModule[firstVfModuleName].isMissingData).toBeFalsy(); + }); + + + test('#UPDATE_VFMODULE_POSITION: should update position', ()=>{ + let vfModule = vfModuleReducer({ + serviceHierarchy : { + 'serviceModelId' : {} + }, + serviceInstance : { + 'serviceModelId' : { + vnfs : { + 'vfName' : { + vfModules : { + 'modelName' : { + 'dynamicModelName': { + isMissingData : true + } + } + } + } + } + } + }}, + { + type: VfModuleActions.UPDATE_VFMODULE_POSITION, + node: { + position : 1, + dynamicModelName : "dynamicModelName", + modelName : "modelName" + }, + instanceId : "serviceModelId", + vnfStoreKey : "vfName" + + }).serviceInstance['serviceModelId'].vnfs['vfName'].vfModules["modelName"]["dynamicModelName"]; + + expect(vfModule.position).toEqual(1); + }); + + + test('#DELETE_ACTION_VF_MODULE_INSTANCE', ()=>{ + let vfModule = vfModuleReducer({ + serviceHierarchy : { + 'serviceModelId' : {} + }, + serviceInstance : { + 'serviceModelId' : { + vnfs : { + 'vnfStoreKey' : { + vfModules : { + 'modelName' : { + 'dynamicModelName1': { + isMissingData : true, + action : 'None' + }, + 'dynamicModelName2': {}, + } + } + } + } + } + }}, + { + type: VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE, + dynamicModelName: 'dynamicModelName1', + vnfStoreKey : 'vnfStoreKey', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1']; + + console.log(vfModule.action); + expect(vfModule).toBeDefined(); + expect(vfModule.isMissingData).toBeTruthy(); + expect(vfModule.action).toEqual(ServiceInstanceActions.None_Delete); + }); + + test('#UNDO_DELETE_ACTION_VF_MODULE_INSTANCE', ()=>{ + let vfModule = vfModuleReducer({ + serviceHierarchy : { + 'serviceModelId' : {} + }, + serviceInstance : { + 'serviceModelId' : { + vnfs : { + 'vnfStoreKey' : { + vfModules : { + 'modelName' : { + 'dynamicModelName1': { + isMissingData : true, + action : 'None_Delete' + }, + 'dynamicModelName2': {}, + } + } + } + } + } + }}, + { + type: VfModuleActions.UNDO_DELETE_ACTION_VF_MODULE_INSTANCE, + dynamicModelName: 'dynamicModelName1', + vnfStoreKey : 'vnfStoreKey', + serviceId: 'serviceModelId' + }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1']; + + console.log(vfModule.action); + expect(vfModule).toBeDefined(); + expect(vfModule.action).toEqual(ServiceInstanceActions.None); + }); + +}); + + + -- cgit 1.2.3-korg