remove lcpCloudRegionId, legacyRegion an tenantId from VFModule 38/101238/6
authorAlexey Sandler <alexey.sandler@intl.att.com>
Thu, 6 Feb 2020 12:32:21 +0000 (14:32 +0200)
committerIttay Stern <ittay.stern@att.com>
Sun, 9 Feb 2020 15:48:22 +0000 (15:48 +0000)
Remove lcpCloudRegionId, legacyRegion an tenantId fields from VFModule on alacarte servcie.

Issue-ID: VID-758
Signed-off-by: Alexey Sandler <alexey.sandler@intl.att.com>
Change-Id: I9048064535b2a0a459330c866f36dbf49697aa75
Signed-off-by: Alexey Sandler <alexey.sandler@intl.att.com>
vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.spec.ts
vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.ts

index 49deb3a..154c60f 100644 (file)
@@ -4,7 +4,7 @@ import {NgRedux} from '@angular-redux/store';
 import {ControlGeneratorUtil, SDN_C_PRE_LOAD} from "../control.generator.util.service";
 import {AaiService} from "../../../../services/aaiService/aai.service";
 import {GenericFormService} from "../../generic-form.service";
-import {FormBuilder, FormControl, FormGroup} from "@angular/forms";
+import {FormBuilder} from "@angular/forms";
 import {LogService} from "../../../../utils/log/log.service";
 import {
   FormControlModel,
@@ -12,12 +12,14 @@ import {
   ValidatorOptions
 } from "../../../../models/formControlModels/formControl.model";
 import {FormControlNames, VfModuleControlGenerator} from "./vfModule.control.generator";
-import {FeatureFlagsService} from "../../../../services/featureFlag/feature-flags.service";
+import {FeatureFlagsService, Features} from "../../../../services/featureFlag/feature-flags.service";
 import {VfModuleInstance} from "../../../../models/vfModuleInstance";
 import {VfModule} from "../../../../models/vfModule";
 import {SharedControllersService} from "../sharedControlles/shared.controllers.service";
 import {AppState} from "../../../../store/reducers";
 import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
+import {instance, mock, when} from "ts-mockito";
+import each from "jest-each";
 
 class MockAppStore<T> {
   getState() {
@@ -921,6 +923,8 @@ describe('VFModule Control Generator', () => {
   let service: VfModuleControlGenerator;
   let httpMock: HttpTestingController;
   let store : NgRedux<AppState>;
+  let mockFeatureFlagsService: FeatureFlagsService = mock(FeatureFlagsService);
+
 
   beforeAll(done => (async () => {
     TestBed.configureTestingModule({
@@ -933,7 +937,7 @@ describe('VFModule Control Generator', () => {
         FormBuilder,
         LogService,
         SharedTreeService,
-        {provide:FeatureFlagsService, useClass: MockFeatureFlagsService},
+        {provide: FeatureFlagsService, useValue: instance(mockFeatureFlagsService)},
         {provide: NgRedux, useClass: MockAppStore}]
     });
     await TestBed.compileComponents();
@@ -946,6 +950,23 @@ describe('VFModule Control Generator', () => {
 
   })().then(done).catch(done.fail));
 
+  let formControlsWithoutLcpRegionTenantLegacy : string[] =
+    [FormControlNames.INSTANCE_NAME,
+      FormControlNames.VOLUME_GROUP_NAME,
+      FormControlNames.ROLLBACK_ON_FAILURE,
+      SDN_C_PRE_LOAD,];
+
+  let formControlsWithLcpRegionTenantLegacy : string[] =
+        [FormControlNames.INSTANCE_NAME,
+        FormControlNames.VOLUME_GROUP_NAME,
+        FormControlNames.LCPCLOUD_REGION_ID,
+        FormControlNames.LEGACY_REGION,
+        FormControlNames.TENANT_ID,
+        FormControlNames.ROLLBACK_ON_FAILURE,
+        SDN_C_PRE_LOAD,];
+
+
+
   test(' getMacroFormControls gets vnfStoreKey === null', () => {
     const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44";
     const vnfStoreKey: string = null;
@@ -1058,20 +1079,15 @@ describe('VFModule Control Generator', () => {
     expect(console.error).toHaveBeenCalled();
   });
 
-  test('getAlaCarteFormControls should return the correct order of controls', () => {
+  each([
+    [true, 4, formControlsWithoutLcpRegionTenantLegacy],
+    [false, 7,formControlsWithLcpRegionTenantLegacy]
+  ]).
+  test('getAlaCarteFormControls should return the correct order of controls', (flag: boolean, controlAmount: number, orderedControls: string[]) => {
+    when(mockFeatureFlagsService.getFlagState(Features.FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF)).thenReturn(flag);
     const controls:FormControlModel[] = getAlaCarteFormControls();
 
-    const orderedControls : string[] = [
-      FormControlNames.INSTANCE_NAME,
-      FormControlNames.VOLUME_GROUP_NAME,
-      FormControlNames.LCPCLOUD_REGION_ID,
-      FormControlNames.LEGACY_REGION,
-      FormControlNames.TENANT_ID,
-      FormControlNames.ROLLBACK_ON_FAILURE,
-      SDN_C_PRE_LOAD,
-    ];
-
-    expect(controls.length).toEqual(7);
+    expect(controls.length).toEqual(controlAmount);
     for(let i = 0 ; i < orderedControls.length ; i++) {
      expect(controls[i].controlName).toEqual(orderedControls[i]);
     }
@@ -1093,26 +1109,6 @@ describe('VFModule Control Generator', () => {
     return controls;
   }
 
-  test('getAlaCarteFormControls responce with wrong order of controls', () => {
-    const controls:FormControlModel[] = getAlaCarteFormControls();
-
-    const orderedControls : string[] = [
-      FormControlNames.INSTANCE_NAME,
-      FormControlNames.VOLUME_GROUP_NAME,
-      FormControlNames.LCPCLOUD_REGION_ID,
-      FormControlNames.TENANT_ID, // TENANT_ID must be after LEGACY_REGION
-      FormControlNames.LEGACY_REGION,
-      FormControlNames.ROLLBACK_ON_FAILURE,
-      SDN_C_PRE_LOAD,
-    ];
-
-    for(let i = 0 ; i < orderedControls.length ; i++) {
-      if (controls[i].controlName === 'legacyRegion') {
-        expect(orderedControls[i]).toEqual('tenantId');
-      }
-    }
-  });
-
   test('getMacroFormControls should return the correct order of controls', () => {
     const serviceId: string = "6e59c5de-f052-46fa-aa7e-2fca9d674c44";
     const vnfStoreKey: string = 'VF_vGeraldine 0';
@@ -1149,25 +1145,6 @@ describe('VFModule Control Generator', () => {
     expect(instanceNameValidator.validatorArg).toEqual(/^[a-zA-Z0-9._-]*$/);
   });
 
-  test(' getAlaCarteFormControls gets null service', () => {
-    const controls:FormControlModel[] = getAlaCarteFormControls();
-    expect(controls.length).toEqual(7);
-
-    const orderedControls : string[] = [
-      FormControlNames.INSTANCE_NAME,
-      FormControlNames.VOLUME_GROUP_NAME,
-      FormControlNames.LCPCLOUD_REGION_ID,
-      FormControlNames.LEGACY_REGION,
-      FormControlNames.TENANT_ID,
-      FormControlNames.ROLLBACK_ON_FAILURE,
-      SDN_C_PRE_LOAD,
-    ];
-
-    for(let i = 0 ; i < orderedControls.length ; i++) {
-      expect(controls[i].controlName).toEqual(orderedControls[i]);
-    }
-  });
-
 
   test('when flag is active - response should contains upload file', ()=>{
     spyOn(store, 'getState').and.returnValue( {
index 7021815..b614ecf 100644 (file)
@@ -23,6 +23,7 @@ import {SharedControllersService} from "../sharedControlles/shared.controllers.s
 import {MessageModal} from "../../../messageModal/message-modal.service";
 import {ButtonType} from "../../../customModal/models/button.type";
 import {SharedTreeService} from "../../../../../drawingBoard/service-planning/objectsToTree/shared.tree.service";
+import {FeatureFlagsService, Features} from "../../../../services/featureFlag/feature-flags.service";
 
 export enum FormControlNames {
   INSTANCE_NAME = 'instanceName',
@@ -47,7 +48,8 @@ export class VfModuleControlGenerator {
               private store: NgRedux<AppState>,
               private http: HttpClient,
               private _aaiService: AaiService,
-              private _logService: LogService) {
+              private _logService: LogService,
+              private _featureFlagsService:FeatureFlagsService) {
     this.aaiService = _aaiService;
   }
 
@@ -124,9 +126,11 @@ export class VfModuleControlGenerator {
     const vfModuleInstance = this._basicControlGenerator.retrieveInstanceIfUpdateMode(this.store, this.getVfModuleInstance(serviceId, vnfStoreKey, uuidData, isUpdateMode));
     let result: FormControlModel[] = [];
     this.pushInstanceAndVGToForm(result, vfModuleInstance, serviceId, vnfModel, true);
-    result.push(this._sharedControllersService.getLcpRegionControl(serviceId, vfModuleInstance, result));
-    result.push(this._sharedControllersService.getLegacyRegion(vfModuleInstance));
-    result.push(this._sharedControllersService.getTenantControl(serviceId, vfModuleInstance));
+    if( !this._featureFlagsService.getFlagState(Features.FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF)) {
+      result.push(this._sharedControllersService.getLcpRegionControl(serviceId, vfModuleInstance, result));
+      result.push(this._sharedControllersService.getLegacyRegion(vfModuleInstance));
+      result.push(this._sharedControllersService.getTenantControl(serviceId, vfModuleInstance));
+    }
     result.push(this._sharedControllersService.getRollbackOnFailureControl(vfModuleInstance));
     result.push(this._sharedControllersService.getSDNCControl(vfModuleInstance, this.getSdncExtraContents()));
     if (this.store.getState().global.flags['FLAG_SUPPLEMENTARY_FILE']) {