Extract concatSupplementaryFile out of VFM controller 38/98838/1
authorEylon Malin <eylon.malin@intl.att.com>
Tue, 26 Nov 2019 08:18:03 +0000 (10:18 +0200)
committerEylon Malin <eylon.malin@intl.att.com>
Tue, 26 Nov 2019 08:18:03 +0000 (10:18 +0200)
Issue-ID: VID-603
Signed-off-by: Eylon Malin <eylon.malin@intl.att.com>
Change-Id: I7522442e5ae3109ac1abeca1f82b2a980a10e30d

vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/basic.control.generator.spec.ts
vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/basic.control.generator.ts
vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/vfModuleGenerator/vfModule.control.generator.ts

index 8705fa8..e97ed9c 100644 (file)
@@ -53,5 +53,26 @@ describe('Basic Control Generator', () => {
     expect(suppFileForInstance.hiddenFile.length).toBeGreaterThanOrEqual(1);
     expect(suppFileForInstance.hiddenFile[0].validations[0].validatorName).toEqual("isFileTooBig");
   });
+
+  test('concatSupplementaryFile add SupplementaryFile control and hidden file', () => {
+
+    //given
+    const instance = {};
+    const controls = [service.getLegacyRegion(instance)];
+    expect(controls).toHaveLength(1);
+
+    //when
+    const result = service.concatSupplementaryFile(controls, instance);
+
+    //then
+    expect(controls).toHaveLength(1); //original controls remain the same
+
+    expect(result.map((control) => {return control.controlName})).toEqual([
+      "legacyRegion",
+      "supplementaryFile",
+      "supplementaryFile_hidden",
+      "supplementaryFile_hidden_content"
+    ]);
+  });
 });
 
index 0261a72..f7075e7 100644 (file)
@@ -239,6 +239,11 @@ export class BasicControlGenerator {
     return initialInstanceName;
   }
 
+  concatSupplementaryFile(originalArray: FormControlModel[], vfModuleInstance): FormControlModel[] {
+    let suppFileInput: FileFormControl = <FileFormControl>(this.getSupplementaryFile(vfModuleInstance));
+    return originalArray.concat([suppFileInput], suppFileInput.hiddenFile);
+  }
+
   getSupplementaryFile(instance: any): FileFormControl {
     return new FileFormControl({
       controlName: SUPPLEMENTARY_FILE,
index a2dd521..762cb41 100644 (file)
@@ -105,9 +105,7 @@ export class VfModuleControlGenerator {
       result = this.pushInstanceAndVGToForm(result, vfModuleInstance, serviceId, vnfModel, false);
     }
     if(this.store.getState().global.flags['FLAG_SUPPLEMENTARY_FILE']) {
-      let suppFileInput:FileFormControl = <FileFormControl>(this._basicControlGenerator.getSupplementaryFile(vfModuleInstance));
-      result.push(suppFileInput);
-      result = result.concat(suppFileInput.hiddenFile);
+      result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance);
     }
     return result;
   }
@@ -142,12 +140,9 @@ export class VfModuleControlGenerator {
     result.push(this.getRollbackOnFailureControl(vfModuleInstance, result));
     result.push(this.getSDNCControl(vfModuleInstance, result));
     if(this.store.getState().global.flags['FLAG_SUPPLEMENTARY_FILE']) {
-      let suppFileInput:FileFormControl = <FileFormControl>(this._basicControlGenerator.getSupplementaryFile(vfModuleInstance));
-      result.push(suppFileInput);
-      result = result.concat(suppFileInput.hiddenFile);
+      result = this._basicControlGenerator.concatSupplementaryFile(result, vfModuleInstance);
     }
     return result;
-
   }
 
   getInstanceName(instance: any, serviceId: string, isEcompGeneratedNaming: boolean): FormControlModel {