From: Einat Vinouze Date: Mon, 24 Feb 2020 10:58:39 +0000 (+0200) Subject: Show "retain VG" for vfModule that is allowed or that is an "alien" X-Git-Tag: 6.0.3~17^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=94cd52bc1fe7b997802dd71952c18d67cb2cd12a;p=vid.git Show "retain VG" for vfModule that is allowed or that is an "alien" Issue-ID: Issue-ID: VID-771 Signed-off-by: Einat Vinouze Change-Id: Ie52fa194a92e0b9e21df723b708b4db877712068 Signed-off-by: Einat Vinouze --- diff --git a/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_not_related_to_current_model_e2e__fe_input_cypress.json b/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_not_related_to_current_model_e2e__fe_input_cypress.json index 77cd6df41..46eb3421d 100644 --- a/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_not_related_to_current_model_e2e__fe_input_cypress.json +++ b/vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_not_related_to_current_model_e2e__fe_input_cypress.json @@ -175,6 +175,7 @@ "productFamilyId": null, "provStatus": null, "retainAssignments": false, + "retainVolumeGroups": false, "sdncPreLoad": true, "supplementaryFile": null, "supplementaryFile_hidden": null, diff --git a/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts index 6338a10b5..cde41bee3 100644 --- a/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/viewEditUpgradeVfModule.e2e.ts @@ -219,7 +219,7 @@ describe('View Edit Page: Upgrade VFModule', function () { cy.openIframe(`app/ui/#/servicePlanning/EDIT?serviceModelId=${serviceModelId}&subscriberId=${subscriberId}&serviceType=${serviceType}&serviceInstanceId=${serviceInstanceId}`); - upgradeTheVFM('node-3412fe1f-e103-4777-90c0-f66d888f4bed-mdns012220200..Mdns01222020..dns_az_01..module-1', false); + upgradeTheVFM('node-3412fe1f-e103-4777-90c0-f66d888f4bed-mdns012220200..Mdns01222020..dns_az_01..module-1', true); mockAsyncBulkResponse(); cy.getDrawingBoardDeployBtn().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 5181318dc..eddfee074 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 @@ -16,7 +16,6 @@ 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"; import {SharedControllersService} from "../../../genericForm/formControlsServices/sharedControlles/shared.controllers.service"; @@ -49,7 +48,10 @@ export class VfModuleUpgradePopupService extends VfModulePopupServiceBase { this._sharedControllersService.getSDNCControl(null) ]; const vfModuleInstance :VfModuleInstance = this._vfModuleControlGenerator.getVfModuleInstance(serviceId, vnfStoreKey, this.uuidData, isUpdateMode); - if(this._store.getState().service.serviceHierarchy[serviceId].vfModules[this.uuidData['modelName']].volumeGroupAllowed){ + + let volumeGroupAllowed = this._store.getState().service.serviceHierarchy[serviceId].vfModules[this.uuidData['modelName']].volumeGroupAllowed; + let vfModuleNotExistsOnModel = this._sharedTreeService.isVfModuleCustomizationIdNotExistsOnModel(this.uuidData['vfModule'], serviceId); + if(volumeGroupAllowed|| vfModuleNotExistsOnModel){ result.push(this.getRetainVolumeGroupsControl()); } result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance); 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 578c37ef0..2123d6a9f 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 {ControlGeneratorUtil, SDN_C_PRE_LOAD, SUPPLEMENTARY_FILE} from "../../../genericForm/formControlsServices/control.generator.util.service"; +import { + ControlGeneratorUtil, + SDN_C_PRE_LOAD, + SUPPLEMENTARY_FILE +} from "../../../genericForm/formControlsServices/control.generator.util.service"; import {AaiService} from "../../../../services/aaiService/aai.service"; import {HttpClient} from "@angular/common/http"; import {GenericFormService} from "../../../genericForm/generic-form.service"; @@ -9,7 +13,6 @@ import {IframeService} from "../../../../utils/iframe.service"; import {DefaultDataGeneratorService} from "../../../../services/defaultDataServiceGenerator/default.data.generator.service"; import {BasicPopupService} from "../basic.popup.service"; import {VfModuleControlGenerator} from "../../../genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator"; -import {SdcUiServices} from "onap-ui-angular"; import {FeatureFlagsService} from "../../../../services/featureFlag/feature-flags.service"; import {getTestBed, TestBed} from "@angular/core/testing"; import {UpgradeFormControlNames, VfModuleUpgradePopupService} from "./vfModule.upgrade.popuop.service"; @@ -65,6 +68,7 @@ describe('VFModule popup service', () => { let fb: FormBuilder; let iframeService: IframeService; let store : NgRedux; + let _sharedTreeService : SharedTreeService; beforeAll(done => (async () => { TestBed.configureTestingModule({ @@ -95,8 +99,12 @@ describe('VFModule popup service', () => { defaultDataGeneratorService = injector.get(DefaultDataGeneratorService); fb = injector.get(FormBuilder); iframeService = injector.get(IframeService); + _sharedTreeService = injector.get(SharedTreeService); store = injector.get(NgRedux); service.uuidData = { + vfModule: { + data: {} + }, modelName: 'vfModuleName', vFModuleStoreKey: 'vfModuleId' }; @@ -133,11 +141,16 @@ describe('VFModule popup service', () => { 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); + [true, false].forEach(notExistsOnModel => { + test(`retainVolumeGroup control is shown when vfModule not from model (notExistsOnModel=${notExistsOnModel})`, () => { + let stateCopy = _.cloneDeep(store.getState()); + stateCopy.service.serviceHierarchy['serviceId'].vfModules['vfModuleName'].volumeGroupAllowed = false; + jest.spyOn(store, 'getState').mockReturnValue(stateCopy); + + jest.spyOn(_sharedTreeService, 'isVfModuleCustomizationIdNotExistsOnModel').mockReturnValue(notExistsOnModel); + + getControlByNameAndCheckValue(UpgradeFormControlNames.RETAIN_VOLUME_GROUPS, true, notExistsOnModel); + }); }); test('get controls should contain SUPPLEMENTARY_FILE controller', ()=> {