import {
CreateVFModuleInstanceAction,
- DeleteActionVfModuleInstanceAction, DeleteVFModuleField,
+ DeleteActionVfModuleInstanceAction,
+ DeleteVFModuleField,
DeleteVfModuleInstanceAction,
UndoDeleteActionVfModuleInstanceAction,
- UpdateVFModluePosition, UpdateVFModuleField,
+ UpdateVFModluePosition,
+ UpdateVFModuleField,
UpgradeVfModuleInstanceAction,
VfModuleActions
} from "./vfModule.actions";
import {vfModuleReducer} from "./vfModule.reducers";
import {VfModuleInstance} from "../../../models/vfModuleInstance";
import {ServiceInstanceActions} from "../../../models/serviceInstanceActions";
+import each from "jest-each";
describe('vfModuleReducer', () => {
dynamicModelName: 'dynamicModelName1',
vnfStoreKey: 'vnfStoreKey',
serviceId: 'serviceModelId',
- modelName: 'modelName',
+ modelName: 'vfModuleModelName',
fieldName: newFieldName,
fieldValue: newFieldValue
});
- let vfModule = newState.serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
+ let vfModule = newState.serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['vfModuleModelName']['dynamicModelName1'];
expect(vfModule[newFieldName]).toEqual(newFieldValue);
});
expect(vfModule.position).toEqual(1);
});
-test('#DELETE_ACTION_VF_MODULE_INSTANCE', () => {
- let vfModule = vfModuleReducer(<any>getReduxState(), getDeleteActionVfModule())
- .serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
+ each([
+ ['for the first vfModule', 'dynamicModelName1', true],
+ ['for the second vfModule', 'dynamicModelName2', true],
+ ]).
+test('#DELETE_ACTION_VF_MODULE_INSTANCE %s', (description, dynamicModelName: string, isMissingData: boolean) => {
+ let vfModule = vfModuleReducer(<any>getReduxState(), getDeleteActionVfModule(dynamicModelName))
+ .serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['vfModuleModelName'][dynamicModelName];
- expect(vfModule).toBeDefined();
- expect(vfModule.isMissingData).toBeTruthy();
- expect(vfModule.action).toEqual(ServiceInstanceActions.None_Delete);
-});
+ expect(vfModule).toBeDefined();
+ expect(vfModule.isMissingData).toBeTruthy();
+ expect(vfModule.action).toEqual(ServiceInstanceActions.None_Delete);
+ });
test('#DELETE_ACTION_VF_MODULE_INSTANCE set tenantId and lcpCloudRegion to VFM', () => {
- let vfModule = vfModuleReducer(<any>getReduxState(), getDeleteActionVfModule())
- .serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
+ let vfModule = vfModuleReducer(<any>getReduxState(), getDeleteActionVfModule('dynamicModelName1'))
+ .serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['vfModuleModelName']['dynamicModelName1'];
expect(vfModule).toBeDefined();
expect(vfModule.tenantId).toEqual('tenantId');
dynamicModelName: 'dynamicModelName1',
vnfStoreKey: 'vnfStoreKey',
serviceId: 'serviceModelId',
- modelName: 'modelName'
- }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['modelName']['dynamicModelName1'];
+ modelName: 'vfModuleModelName'
+ }).serviceInstance['serviceModelId'].vnfs['vnfStoreKey'].vfModules['vfModuleModelName']['dynamicModelName1'];
expect(vfModule.action).toEqual(ServiceInstanceActions.None_Upgrade);
});
tenantId: 'tenantId',
lcpCloudRegionId: 'lcpCloudRegionId',
vfModules: {
- 'modelName': {
+ 'vfModuleModelName': {
'dynamicModelName1': {
isMissingData: true,
action: 'None',
},
- 'dynamicModelName2': {},
+ 'dynamicModelName2': {
+ action: 'None',
+ isMissingData: true,
+ },
}
}
}
}
}
-function getDeleteActionVfModule() {
+function getDeleteActionVfModule(dynamicModelName?: string) {
return <DeleteActionVfModuleInstanceAction>{
type: VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE,
- dynamicModelName: 'dynamicModelName1',
+ dynamicModelName: dynamicModelName,
vnfStoreKey: 'vnfStoreKey',
- serviceId: 'serviceModelId'
+ serviceId: 'serviceModelId',
+ vfModuleModelName: 'vfModuleModelName',
}
}
});
return Object.assign({}, state);
}
case VfModuleActions.DELETE_ACTION_VF_MODULE_INSTANCE : {
+ let deleteAction = (<DeleteActionVfModuleInstanceAction>action);
let newState = _.cloneDeep(state);
- let vfModules = newState.serviceInstance[(<DeleteActionVfModuleInstanceAction>action).serviceId].vnfs[(<DeleteActionVfModuleInstanceAction>action).vnfStoreKey].vfModules;
+ let vfModule = newState.serviceInstance[deleteAction.serviceId].vnfs[deleteAction.vnfStoreKey]
+ .vfModules[deleteAction.vfModuleModelName][deleteAction.dynamicModelName];
+ let oldAction = vfModule.action;
+ if (oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState;
+ newState.serviceInstance[deleteAction.serviceId].vnfs[deleteAction.vnfStoreKey]
+ .vfModules[deleteAction.vfModuleModelName][deleteAction.dynamicModelName].action = (oldAction + '_Delete') as ServiceInstanceActions;
+ setLcpCloudRegionIdAndTenantIdFromVnf(newState, deleteAction.serviceId, deleteAction.vnfStoreKey, deleteAction.vfModuleModelName, deleteAction.dynamicModelName);
+ updateIsMissingDataOnDeleteVFModule(newState, (<UndoDeleteActionVfModuleInstanceAction>action).serviceId, (<UndoDeleteActionVfModuleInstanceAction>action).vnfStoreKey, deleteAction.vfModuleModelName);
- for(let key in vfModules){
- let firstKey = Object.keys(vfModules[key])[0];
- if(firstKey === (<DeleteActionVfModuleInstanceAction>action).dynamicModelName){
- let oldAction = newState.serviceInstance[(<DeleteActionVfModuleInstanceAction>action).serviceId].vnfs[(<DeleteActionVfModuleInstanceAction>action).vnfStoreKey].vfModules[key][firstKey].action;
- if(oldAction === ServiceInstanceActions.None_Delete || oldAction === ServiceInstanceActions.Update_Delete) return newState;
- newState.serviceInstance[(<DeleteActionVfModuleInstanceAction>action).serviceId].vnfs[(<DeleteActionVfModuleInstanceAction>action).vnfStoreKey].vfModules[key][firstKey].action = (oldAction + '_Delete') as ServiceInstanceActions;
- setLcpCloudRegionIdAndTenantIdFromVnf(newState, (<DeleteActionVfModuleInstanceAction>action).serviceId, (<DeleteActionVfModuleInstanceAction>action).vnfStoreKey, key, firstKey);
- updateIsMissingDataOnDeleteVFModule(newState, (<UndoDeleteActionVfModuleInstanceAction>action).serviceId, (<UndoDeleteActionVfModuleInstanceAction>action).vnfStoreKey, key);
- return newState;
- }
- }
return newState;
}
case VfModuleActions.UNDO_DELETE_ACTION_VF_MODULE_INSTANCE : {