Replace vfmodule: add retainVolumeGroup to new upgrade modal
Issue-ID: VID-603
Change-Id: I1994d4464172613294198e21a77f31b752211888
Signed-off-by: Sara Weiss <sara.weiss@intl.att.com>
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
diff --git a/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__fe_input_cypress.json b/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__fe_input_cypress.json
index 46c99e7..743e5a0 100644
--- a/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__fe_input_cypress.json
+++ b/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__fe_input_cypress.json
@@ -34,6 +34,7 @@
"b0732bed-3ddf-43cc-b193-7f18db84e476": {
"action": "None_Upgrade",
"retainAssignments" : false,
+ "retainVolumeGroups" : false,
"instanceName": "PST-VfMod-Replace-5-Vfmod",
"instanceId": "b0732bed-3ddf-43cc-b193-7f18db84e476",
"orchStatus": "Active",
diff --git a/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__payload_to_mso.json b/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__payload_to_mso.json
index 98ba26c..55f22ca 100644
--- a/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__payload_to_mso.json
+++ b/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__payload_to_mso.json
@@ -34,6 +34,7 @@
],
"requestParameters": {
"retainAssignments": false,
+ "rebuildVolumeGroups":true,
"userParams": [],
"testApi": "VNF_API"
},
diff --git a/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts
index 46e5fad..97eadab 100644
--- a/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts
+++ b/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts
@@ -219,6 +219,7 @@
// The following is needed when enabling FLAG_2002_VFM_UPGRADE_ADDITIONAL_OPTIONS
cy.getElementByDataTestsId('retainAssignments').click();
+ cy.getElementByDataTestsId('retainVolumeGroups').click();
cy.screenshot();
cy.getElementByDataTestsId('form-set').click();
}
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 ff3f23f..c490816 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
@@ -19,8 +19,14 @@
import {CheckboxFormControl} from "../../../../models/formControlModels/checkboxFormControl.model";
import {FormControlType} from "../../../../models/formControlModels/formControlTypes.enum";
+export enum UpgradeFormControlNames {
+ RETAIN_VOLUME_GROUPS = 'retainVolumeGroups',
+ RETAIN_ASSIGNMENTS = 'retainAssignments',
+}
+
@Injectable()
export class VfModuleUpgradePopupService extends VfModulePopuopService {
+
constructor(protected _basicControlGenerator: BasicControlGenerator,
protected _vfModuleControlGenerator: VfModuleControlGenerator,
protected _iframeService: IframeService,
@@ -40,19 +46,9 @@
getDynamicInputs = () => [];
getControls = () : FormControlModel[] => {
- return [
- new CheckboxFormControl({
- type: FormControlType.CHECKBOX,
- controlName: 'retainAssignments',
- displayName: 'Retain Assignments',
- dataTestId: 'retainAssignments',
- value: true,
- validations: []
- })
- ];
+ return this.getUpgradeFormControls()
};
-
getTitle = (): string => 'Upgrade Module';
onSubmit(that, form: FormGroup) {
@@ -61,10 +57,45 @@
this._store.dispatch(upgradeVFModule(node.data.modelName, node.parent.data.vnfStoreKey, serviceInstanceId ,node.data.dynamicModelName));
this._sharedTreeService.upgradeBottomUp(node, serviceInstanceId);
- this._store.dispatch(updateVFModuleField(node.data.modelName, node.parent.data.vnfStoreKey, serviceInstanceId ,node.data.dynamicModelName, 'retainAssignments', form.controls['retainAssignments'].value));
+
+ this.updateVFModuleField(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS,node, serviceInstanceId, form);
+ this.updateVFModuleField(UpgradeFormControlNames.RETAIN_ASSIGNMENTS,node, serviceInstanceId, form);
this.postSubmitIframeMessage(that);
this.onCancel(that, form);
}
+ private updateVFModuleField(fieldName: string, node, serviceInstanceId: string, form: FormGroup) {
+ this._store.dispatch(updateVFModuleField(node.data.modelName, node.parent.data.vnfStoreKey, serviceInstanceId, node.data.dynamicModelName, fieldName, form.controls[fieldName].value));
+ }
+
+
+ getRetainVolumeGroupsControl = (): CheckboxFormControl => {
+ return new CheckboxFormControl({
+ type: FormControlType.CHECKBOX,
+ controlName: UpgradeFormControlNames.RETAIN_VOLUME_GROUPS,
+ displayName: 'Retain Volume Groups',
+ dataTestId: UpgradeFormControlNames.RETAIN_VOLUME_GROUPS,
+ value: true,
+ validations: []
+ })
+ };
+
+ getRetainAssignmentsControl = (): CheckboxFormControl => {
+ return new CheckboxFormControl({
+ type: FormControlType.CHECKBOX,
+ controlName: UpgradeFormControlNames.RETAIN_ASSIGNMENTS,
+ displayName: 'Retain Assignments',
+ dataTestId: UpgradeFormControlNames.RETAIN_ASSIGNMENTS,
+ value: true,
+ validations: []
+ })
+ };
+
+ getUpgradeFormControls = (): FormControlModel[] => {
+ let result: FormControlModel[] = [];
+ result.push(this.getRetainVolumeGroupsControl());
+ result.push(this.getRetainAssignmentsControl());
+ 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 5850d25..a7c8214 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
@@ -12,7 +12,7 @@
import {SdcUiServices} from "onap-ui-angular";
import {FeatureFlagsService} from "../../../../services/featureFlag/feature-flags.service";
import {getTestBed, TestBed} from "@angular/core/testing";
-import {VfModuleUpgradePopupService} from "./vfModule.upgrade.popuop.service";
+import {UpgradeFormControlNames, VfModuleUpgradePopupService} from "./vfModule.upgrade.popuop.service";
import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
class MockModalService<T> {
@@ -78,12 +78,21 @@
test('get controls should return retainAssignments control with false i', ()=> {
const controls = service.getControls();
+ expect(controls.length).toEqual(2);
const retainAssignmentsControl = controls.find((control)=>{
- return control.controlName === 'retainAssignments';
+ return control.controlName === UpgradeFormControlNames.RETAIN_ASSIGNMENTS;
});
expect(retainAssignmentsControl).toBeDefined();
expect(retainAssignmentsControl.value).toBeTruthy();
+
+
+ const retainVolumeGroup = controls.find((control)=>{
+ return control.controlName === UpgradeFormControlNames.RETAIN_VOLUME_GROUPS;
+ });
+
+ expect(retainVolumeGroup).toBeDefined();
+ expect(retainVolumeGroup.value).toBeTruthy();
});
});