allow LOB multi-selection for vnf - fix cypress
[vid.git] / vid-webpack-master / cypress / integration / iFrames / ala-carte.e2e.ts
index ba27d41..4ececb0 100644 (file)
@@ -92,6 +92,7 @@ describe('A la carte', function () {
     it(`VNF a-la-carte`, () => {
       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/flags.cypress.json').then((res) => {
         res['FLAG_2002_VNF_PLATFORM_MULTI_SELECT'] = true;
+        res['FLAG_2006_VNF_LOB_MULTI_SELECT'] = true;
         cy.server()
           .route({
             method: 'GET',
@@ -134,9 +135,9 @@ describe('A la carte', function () {
             cy.selectDropdownOptionByText('lcpRegion', 'AAIAIC25');
             cy.typeToInput("lcpRegionText", "just another region");
             cy.selectDropdownOptionByText('tenant', 'USP-SIP-IC-24335-T-01');
-            cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1');
+            cy.selectLobValue('zzz1');
 
-            cy.selectPlatformValue('xxx1');
+            cy.selectPlatformValue(`xxx1`);
 
             cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
 
@@ -144,7 +145,8 @@ describe('A la carte', function () {
 
               cy.getElementByDataTestsId(vnfMenuBtnDataTestId).click({force: true}).then(() => {
                 cy.getElementByDataTestsId('context-menu-edit').click({force: true});
-                cy.selectPlatformValue('platform');
+                cy.selectPlatformValue(`platform`);
+                cy.selectLobValue('ONAP');
                 cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
                   cy.getReduxState().then((state) => {
 
@@ -195,11 +197,11 @@ describe('A la carte', function () {
         cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
         cy.getElementByDataTestsId("node-ExtVL 0-add-btn").click({force: true});
 
-        cy.selectDropdownOptionByText("platform", "xxx1");
+        cy.selectPlatformValue(`xxx1`);
         cy.selectDropdownOptionByText("lcpRegion", "AAIAIC25");
         cy.selectDropdownOptionByText("tenant", "USP-SIP-IC-24335-T-01");
         cy.selectDropdownOptionByText("productFamily", "ERICA");
-        cy.selectDropdownOptionByText("lineOfBusiness", "zzz1");
+        cy.selectMultiselectValue("multi-lineOfBusiness", "multi-lineOfBusiness-zzz1");
         cy.typeToInput("lcpRegionText", "lcpRegionText");
 
         cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
@@ -215,15 +217,20 @@ describe('A la carte', function () {
       });
     });
 
-    it(`VFModule a-la-carte`, () => {
-      var timeBomb = new Date('12/09/2018');
-      if (new Date() < timeBomb) {
-        return;
-      }
+    it(`Add ALaCarte VfModule Without LcpRegion Tenant Id And Legacy`, () => {
+      addAlacarteVfmoduleByFlag(true, 'redux-a-la-carte-no-lcp-tenant.json');
+    });
+
+    it(`Add ALaCarte VfModule With LcpRegion Tenant Id And Legacy`, () => {
+      addAlacarteVfmoduleByFlag(false, 'redux-a-la-carte.json');
+    });
+
+    function addAlacarteVfmoduleByFlag  (flag: boolean, expectedJsonFile: string) {
       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => {
         cy.setTestApiParamToGR();
         res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.vidNotions.instantiationType = 'ALaCarte';
         res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.inputs = null;
+        res.global['flags'] = { 'FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF' : flag };
         cy.setReduxState(<any>res);
         cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
 
@@ -231,8 +238,8 @@ describe('A la carte', function () {
           cy.selectDropdownOptionByText('productFamily', 'Emanuel');
           cy.selectDropdownOptionByText('lcpRegion', 'hvf6');
           cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-STTest2');
-          cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1');
-          cy.selectPlatformValue('xxx1');
+          cy.selectLobValue('zzz1');
+          cy.selectPlatformValue(`xxx1`);
           cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
             const vnfName = '2017-488_PASQUALE-vPE 0';
             let vfModulesNames: Array<string> = [
@@ -241,31 +248,30 @@ describe('A la carte', function () {
               '2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vPFE_BV..module-2',
             ];
 
-            cy.addALaCarteVfModule(vnfName, vfModulesNames[0], 'mimazepubi', 'hvf6', '', 'AINWebTool-15-D-iftach', false, false, false)
+            cy.addALaCarteVfModule(vnfName, vfModulesNames[0], 'mimazepubi', 'hvf6', '', 'AINWebTool-15-D-iftach', false, false, false, flag)
+            .then(() => {
+              cy.addALaCarteVfModule(vnfName, vfModulesNames[1], 'puwesovabe', 'AAIAIC25', 'my region', 'USP-SIP-IC-24335-T-01', true, true, false, flag)
               .then(() => {
-                cy.addALaCarteVfModule(vnfName, vfModulesNames[1], 'puwesovabe', 'AAIAIC25', 'my region', 'USP-SIP-IC-24335-T-01', true, true, false)
-                  .then(() => {
-                    cy.addALaCarteVfModule(vnfName, vfModulesNames[2], 'bnmgtrx', 'hvf6', '', 'AINWebTool-15-D-iftach', false, false, true)
-                      .then(() => {
-                        cy.getReduxState().then((state) => {
-                          const vfModules = state.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].vnfs[vnfName].vfModules;
-                          cy.readFile('../vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json').then((file) => {
-                            for (let vfModulesName of vfModulesNames) {
-                              const vfModule = vfModules[vfModulesName];
-                              let vfModuleObject = vfModule[Object.keys(vfModule)[0]];
-                              file.vnfs[vnfName].vfModules[vfModulesName][vfModulesName].action = "Create";
-                              cy.deepCompare(vfModuleObject, file.vnfs[vnfName].vfModules[vfModulesName][vfModulesName]);
-                            }
-                          });
-                        });
-                      });
+                cy.addALaCarteVfModule(vnfName, vfModulesNames[2], 'bnmgtrx', 'hvf6', '', 'AINWebTool-15-D-iftach', false, false, true, flag)
+                .then(() => {
+                  cy.getReduxState().then((state) => {
+                    const vfModules = state.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].vnfs[vnfName].vfModules;
+                    cy.readFile('../vid-automation/src/test/resources/a-la-carte/' + expectedJsonFile).then((file) => {
+                      for (let vfModulesName of vfModulesNames) {
+                        const vfModule = vfModules[vfModulesName];
+                        let vfModuleObject = vfModule[Object.keys(vfModule)[0]];
+                        file.vnfs[vnfName].vfModules[vfModulesName][vfModulesName].action = "Create";
+                        cy.deepCompare(vfModuleObject, file.vnfs[vnfName].vfModules[vfModulesName][vfModulesName]);
+                      }
+                    });
                   });
+                });
               });
+            });
           });
         });
       });
-    });
-
+    };
 
     function changeServiceEcompNamingToTrue(obj: ServiceModel) {
       obj.service.serviceEcompNaming = "true";