When remove VND with existing VFModules - should update Validation counter 85/99885/1
authorYoav Schneiderman <yoav.schneiderman@intl.att.com>
Mon, 23 Dec 2019 07:54:07 +0000 (09:54 +0200)
committerYoav Schneiderman <yoav.schneiderman@intl.att.com>
Mon, 23 Dec 2019 07:54:07 +0000 (09:54 +0200)
Issue-ID: VID-734
Signed-off-by: Yoav Schneiderman <yoav.schneiderman@intl.att.com>
Change-Id: I41cb2f010fc1aee4638f4f1b7c49af2be97ed2f3

vid-webpack-master/src/app/shared/storeUtil/utils/general/general.reducers.spec.ts
vid-webpack-master/src/app/shared/storeUtil/utils/general/general.reducers.ts

index 952a928..4bad613 100644 (file)
@@ -178,7 +178,7 @@ describe('generalReducer', () => {
     expect(userState).toEqual(userId);
   });
 
-  test('#DELETE_VNF_INSTANCE : should delete existing vnf', () => {
+  test('#REMOVE_INSTANCE : should delete existing vnf', () => {
     let state = generalReducer(<any>{serviceInstance : {
           'serviceModelId' : {
             vnfs : {
@@ -202,7 +202,7 @@ describe('generalReducer', () => {
     expect(state.serviceInstance[ 'serviceModelId'].vnfs['modelName']).not.toBeDefined();
   });
 
-  test('#DELETE_VNF_INSTANCE : should delete existing network', () => {
+  test('#REMOVE_INSTANCE : should delete existing network', () => {
     let state = generalReducer(<any>{serviceInstance : {
           'serviceModelId' : {
             'networks' : {
@@ -226,6 +226,43 @@ describe('generalReducer', () => {
     expect(state.serviceInstance['serviceModelId'].networks['modelName']).not.toBeDefined();
   });
 
+  test('#REMOVE_INSTANCE : remove VNF should remove VFModules ', () => {
+    let state = generalReducer(<any>
+        {serviceInstance : {
+          'serviceModelId' : {
+            'validationCounter' : 2,
+            'vnfs' : {
+              'SDC_Automation_15Aug 0' : {
+                'isMissingData' :true,
+                'modelName' : {},
+                'vfModules' : {
+                  'vfModule_1' : {
+                    'vfModule_1_1' : {
+                      'isMissingData' :true
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }},
+      <RemoveInstanceAction>{
+        type: GeneralActions.REMOVE_INSTANCE,
+        modelName : 'modelName',
+        serviceModelId : 'serviceModelId',
+        storeKey : 'SDC_Automation_15Aug 0',
+        node : {
+          data : {
+            type : 'VF'
+          }
+        }
+      });
+
+    expect(state).toBeDefined();
+    expect(state.serviceInstance['serviceModelId'].vnfs['modelName']).not.toBeDefined();
+    expect(state.serviceInstance['serviceModelId'].validationCounter).toEqual(0);
+  });
+
   test('#CHANGE_VNF_INSTANCE_COUNTER : should init existingVNFCounterMap to 1', () => {
     let state = generalReducer(<any>{serviceInstance : {
           'serviceModelId' : {
index f87a973..924d58a 100644 (file)
@@ -55,6 +55,7 @@ export function generalReducer(state: ServiceState, action: Action) : ServiceSta
           _.forOwn(state.serviceInstance[actionData.serviceModelId][typeNodeInformation.hierarchyName][actionData.storeKey].vfModules, (vfModuleMap) => {
             _.forOwn(vfModuleMap, (vfModuleInstance) => {
               updateUniqueNames(vfModuleInstance.instanceName, null, state.serviceInstance[actionData.serviceModelId]);
+              updateServiceValidationCounter(state, vfModuleInstance.isMissingData, false, actionData.serviceModelId);
             })
           });
         }