Add Pause Functionality from Inside VF Module's Edit Dialog 20/110220/3
authorikram <ikram@research.att.com>
Wed, 15 Jul 2020 21:45:37 +0000 (17:45 -0400)
committerIttay Stern <ittay.stern@att.com>
Mon, 20 Jul 2020 06:53:35 +0000 (06:53 +0000)
Issue-ID: VID-858

Allow user to choose adding (and removing) Pause points from within the Edit Dialog of the VF Module. Currently, the support of adding is only from the vertical ellipsis menu. Also, there is currently no option of removing the pause point. This functionality will allow this to happen as well since inside the Edit dialog, the option is a checkbox which can now unchecked. Note: removing the pause point from within the vertical ellipse after being added will be covered in a separate user story. However, the desired functionality can still be reached using this commit as describe above.

Signed-off-by: ikram <ikram@research.att.com>
Change-Id: Icaf5e93bde67938836c42fc417edc278e9335e75

vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModulePopup.e2e.ts [new file with mode: 0644]
vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.spec.ts

diff --git a/vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModulePopup.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModulePopup.e2e.ts
new file mode 100644 (file)
index 0000000..088e687
--- /dev/null
@@ -0,0 +1,60 @@
+describe('Create Instance Page : Pause after instantiation from vfModule Popup window', ()=> {
+
+  beforeEach( () => {
+    cy.clearSessionStorage();
+    cy.setTestApiParamToGR();
+    cy.initVidMock();
+    cy.permissionVidMock();
+    cy.login();
+  });
+
+  afterEach( () =>{
+    cy.screenshot();
+  });
+
+  it('Pause after Instantiation : Create a vf module and and Pause from vfModule popup', () => {
+    cy.readFile('cypress/support/jsonBuilders/mocks/jsons/flags.cypress.json').then((flags) => {
+      cy.server()
+      .route({
+        method: 'GET',
+        delay: 0,
+        status: 200,
+        url: Cypress.config('baseUrl') + "/flags**",
+        response: flags
+      }).as('initFlags');
+    });
+
+    cy.readFile('cypress/support/jsonBuilders/mocks/jsons/reduxModelOneVnfAndTwoVfmodulesInstanceOneVnf.json').then((reduxState) => {
+
+      cy.setReduxState(<any>reduxState);
+      cy.openIframe('app/ui/#/servicePlanning?serviceModelId=f3862254-8df2-4a0a-8137-0a9fe985860c');
+      const vnfName = "vOCG_1804_VF 0";
+      let vfModulesNames: Array<string> = [
+        'vocg_1804_vf0..Vocg1804Vf..base_ocg..module-0',
+        'vocg_1804_vf0..Vocg1804Vf..ocgapp_004..module-11'
+      ];
+      const uuidAndVfModuleNames: Array<string> = [
+        '815db6e5-bdfd-4cb6-9575-82c36df8747a-vocg_1804_vf0..Vocg1804Vf..base_ocg..module-0',
+        'da10c7fe-cf81-441c-9694-4e9ddf2054d8-vocg_1804_vf0..Vocg1804Vf..ocgapp_004..module-11'
+      ];
+
+      addALaCarteVfModuleEcompGeneratedNamingTrue(vnfName, vfModulesNames[0], uuidAndVfModuleNames[0]);
+
+    });
+
+  });
+
+  function addALaCarteVfModuleEcompGeneratedNamingTrue(vnfName: string, vfModulesName: string, uuidAndVfModuleName: string): Chainable<any> {
+    return cy.getElementByDataTestsId('node-' + vnfName).click({force: true}).then(() => {
+      cy.getElementByDataTestsId('node-' + vfModulesName + '-add-btn').click({force: true}).then(() => {
+        cy.getElementByDataTestsId('node-' + uuidAndVfModuleName + '-menu-btn')
+        .click({force: true}).then(() => {
+          cy.getElementByDataTestsId('context-menu-edit').click().then(() => {
+            cy.getElementByDataTestsId('pauseInstantiation').click();
+            cy.getElementByDataTestsId('form-set').click();
+          })
+        })
+      })
+    })
+  }
+})
index 6ee3186..0a3e262 100644 (file)
@@ -111,6 +111,19 @@ describe('Shared Controllers Service', () => {
     expect (sdncPreload.value).toBe(expected);
   });
 
+  each(
+    [
+      [' checked', true, true],
+      [' not checked', false, false ]
+    ]
+  ).
+  test('pause-instantiation checkbox', (description: string) => {
+    const instance = null;
+    const pauseInstantiation: FormControlModel = service.getPauseInstantiation(instance);
+    expect (pauseInstantiation.displayName).toEqual('Pause upon Completion');
+    expect(pauseInstantiation.dataTestId).toEqual('pauseInstantiation');
+  });
+
   test('getlegacyRegion with AAIAIC25 - isVisible true', () => {
     const instance = {lcpCloudRegionId : 'AAIAIC25'};
     const legacyRegionControl: FormControlModel = service.getLegacyRegion(instance);
@@ -134,6 +147,8 @@ describe('Shared Controllers Service', () => {
     expect(control.dataTestId).toEqual('multi-selectPlatform');
     expect(control.limitSelection).toEqual(1000);
   });
+
+
 });
 
 class MockAppStore<T> {