aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade')
-rw-r--r--vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts12
-rw-r--r--vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts41
2 files changed, 40 insertions, 13 deletions
diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts
index bbfe8705e..667e79678 100644
--- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts
+++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popuop.service.ts
@@ -1,7 +1,7 @@
import {Injectable} from "@angular/core";
import {ITreeNode} from "angular-tree-component/dist/defs/api";
import {FormGroup} from "@angular/forms";
-import {VfModulePopupServiceBase} from "../vfModule/vfModule.popuop.service";
+import {VfModulePopupServiceBase} from "../vfModule/vfModule.popup.service";
import {upgradeVFModule} from "../../../../storeUtil/utils/vfModule/vfModule.actions";
import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
import {NgRedux} from "@angular-redux/store";
@@ -16,11 +16,12 @@ import {FormControlModel} from "../../../../models/formControlModels/formControl
import {CheckboxFormControl} from "../../../../models/formControlModels/checkboxFormControl.model";
import {FormControlType} from "../../../../models/formControlModels/formControlTypes.enum";
import {mergeObjectByPathAction} from "../../../../storeUtil/utils/general/general.actions";
+import * as _ from "lodash";
+import {VfModuleInstance} from "../../../../models/vfModuleInstance";
export enum UpgradeFormControlNames {
RETAIN_VOLUME_GROUPS = 'retainVolumeGroups',
RETAIN_ASSIGNMENTS = 'retainAssignments',
- SDN_C_PRE_LOAD = 'sdncPreLoad',
}
@Injectable()
@@ -43,11 +44,12 @@ export class VfModuleUpgradePopupService extends VfModulePopupServiceBase {
getControls(serviceId: string, vnfStoreKey: string, vfModuleStoreKey: string, isUpdateMode: boolean): FormControlModel[] {
let result: FormControlModel[] =[
this.getRetainAssignmentsControl(),
- this.getRetainVolumeGroupsControl(),
this._basicControlGenerator.getSDNCControl(null)
];
-
- const vfModuleInstance = this._vfModuleControlGenerator.getVfModuleInstance(serviceId, vnfStoreKey, this.uuidData, isUpdateMode);
+ const vfModuleInstance :VfModuleInstance = this._vfModuleControlGenerator.getVfModuleInstance(serviceId, vnfStoreKey, this.uuidData, isUpdateMode);
+ if(this._store.getState().service.serviceHierarchy[serviceId].vfModules[this.uuidData['modelName']].volumeGroupAllowed){
+ result.push(this.getRetainVolumeGroupsControl());
+ }
result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance);
return result;
};
diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
index 7c1cc084a..4003b4dcc 100644
--- a/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
+++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/genericFormServices/vfModuleUpgrade/vfModule.upgrade.popup.service.spec.ts
@@ -1,6 +1,10 @@
import {LogService} from "../../../../utils/log/log.service";
import {NgRedux} from "@angular-redux/store";
-import {BasicControlGenerator, SDN_C_PRE_LOAD, SUPPLEMENTARY_FILE} from "../../../genericForm/formControlsServices/basic.control.generator";
+import {
+ BasicControlGenerator,
+ SDN_C_PRE_LOAD,
+ SUPPLEMENTARY_FILE
+} from "../../../genericForm/formControlsServices/basic.control.generator";
import {AaiService} from "../../../../services/aaiService/aai.service";
import {HttpClient} from "@angular/common/http";
import {GenericFormService} from "../../../genericForm/generic-form.service";
@@ -20,6 +24,7 @@ import {GeneralActions} from "../../../../storeUtil/utils/general/general.action
import {VfModuleActions} from "../../../../storeUtil/utils/vfModule/vfModule.actions";
import {ServiceActions} from "../../../../storeUtil/utils/service/service.actions";
import {FormControlModel} from "../../../../models/formControlModels/formControl.model";
+import * as _ from "lodash";
class MockModalService<T> {}
@@ -29,6 +34,15 @@ class MockReduxStore<T> {
getState() {
return {
service: {
+ serviceHierarchy: {
+ serviceId: {
+ vfModules: {
+ vfModuleName: {
+ volumeGroupAllowed: true
+ }
+ }
+ }
+ },
serviceInstance : {
serviceId : {
vnfs : {
@@ -40,7 +54,6 @@ class MockReduxStore<T> {
}}}}}}}}
};
}
-
dispatch() {}
}
@@ -101,19 +114,31 @@ describe('VFModule popup service', () => {
});
}
- function getControlByNameAndCheckValue(controlName: string, expectedValue: any) {
+ function getControlByNameAndCheckValue(controlName: string, expectedValue: any, shouldControllerExist: boolean) {
const controls = service.getControls('serviceId', 'vnfStoreKey', 'vfModuleId', true);
const control = findControlByName(controls, controlName);
- expect(control).toBeDefined();
- expect(control.value).toEqual(expectedValue);
+ if(shouldControllerExist){
+ expect(control).toBeDefined();
+ expect(control.value).toEqual(expectedValue);
+ }
+ else{
+ expect(control).toBeUndefined();
+ }
}
test('get controls should return retainAssignments control with true value', ()=> {
- getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_ASSIGNMENTS, true);
+ getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_ASSIGNMENTS, true, true);
});
test('get controls should return retainVolumeGroup control with true value', ()=> {
- getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, true);
+ getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, true, true);
+ });
+
+ test('get controls should NOT return retainVolumeGroup control with true value', ()=> {
+ let stateCopy =_.cloneDeep(store.getState());
+ stateCopy.service.serviceHierarchy['serviceId'].vfModules['vfModuleName'].volumeGroupAllowed = false;
+ jest.spyOn(store, 'getState').mockReturnValue(stateCopy);
+ getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, null, false);
});
test('get controls should contain SUPPLEMENTARY_FILE controller', ()=> {
@@ -196,6 +221,6 @@ describe('VFModule popup service', () => {
test( 'get controls should return usePreload with false value', () => {
- getControlByNameAndCheckValue(SDN_C_PRE_LOAD, false);
+ getControlByNameAndCheckValue(SDN_C_PRE_LOAD, false, true);
});
});