diff options
author | Einat Vinouze <einat.vinouze@intl.att.com> | 2020-03-16 19:08:22 +0200 |
---|---|---|
committer | Einat Vinouze <einat.vinouze@intl.att.com> | 2020-03-18 10:58:23 +0200 |
commit | 06f53244384e546cc15750f6d050a98a752a0ade (patch) | |
tree | 379fb0247807d0792937d9cc732856923b00848b /vid-webpack-master | |
parent | 6b57c89aa2ceda72126576c8cdb58b75e83df6f1 (diff) |
allow LOB multi-selection for network
Issue-ID: VID-788
Change-Id: I03674ea0c04567291ba647c76b7c88bc11a7cf0e
Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com>
Diffstat (limited to 'vid-webpack-master')
11 files changed, 68 insertions, 32 deletions
diff --git a/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts index 4988ec8e8..4fa3ae600 100644 --- a/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts @@ -136,7 +136,7 @@ describe('A la carte', function () { cy.selectDropdownOptionByText('tenant', 'USP-SIP-IC-24335-T-01'); cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1'); - cy.selectPlatformValue('xxx1'); + cy.selectPlatformValue(`xxx1`); cy.getElementByDataTestsId('form-set').click({force: true}).then(() => { @@ -144,7 +144,7 @@ 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.getElementByDataTestsId('form-set').click({force: true}).then(() => { cy.getReduxState().then((state) => { @@ -195,11 +195,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.selectPlatformValue("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(() => { @@ -229,7 +229,7 @@ describe('A la carte', function () { cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1'); cy.selectDropdownOptionByText('lcpRegion', 'foo-name'); cy.selectDropdownOptionByText('tenant', 'tenantID'); - cy.selectPlatformValue('xxx1'); + cy.selectPlatformValue(`xxx1`); cy.getElementByDataTestsId('form-set').click({force: true}).then(() => { const vnfMenuBtnDataTestId = 'node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0-menu-btn'; @@ -266,7 +266,7 @@ describe('A la carte', function () { cy.selectDropdownOptionByText('lcpRegion', 'hvf6'); cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-STTest2'); cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1'); - cy.selectPlatformValue('xxx1'); + cy.selectPlatformValue(`xxx1`); cy.getElementByDataTestsId('form-set').click({force: true}).then(() => { const vnfName = '2017-488_PASQUALE-vPE 0'; let vfModulesNames: Array<string> = [ diff --git a/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts index 88ad8e8a2..87bbb5b9d 100644 --- a/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts @@ -377,7 +377,7 @@ describe('Drawing board', function () { cy.selectDropdownOptionByText('lcpRegion', 'hvf6'); cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-testalexandria'); cy.selectDropdownOptionByText('lineOfBusiness', 'ONAP'); - cy.selectPlatformValue('platform'); + cy.selectPlatformValue(`platform`); cy.genericFormSubmitForm(); cy.getElementByDataTestsId('node-afacccf6-397d-45d6-b5ae-94c39734b168-2017-388_PASQUALE-vPE 0').contains('<Automatically Assigned>'); @@ -397,8 +397,8 @@ describe('Drawing board', function () { cy.selectDropdownOptionByText('productFamily', 'ERICA'); cy.selectDropdownOptionByText('lcpRegion', 'hvf6'); cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-testalexandria'); - cy.selectDropdownOptionByText('lineOfBusiness', 'ONAP') - cy.selectPlatformValue('platform'); + cy.selectLobValue("ONAP"); + cy.selectPlatformValue(`platform`); cy.genericFormSubmitForm(); diff --git a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts index bb2c01abd..8a68a1393 100644 --- a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts @@ -99,7 +99,7 @@ describe('Drawing Board: Instantiation Templates', function () { .getElementByDataTestsId("lcpRegion").should('contain', 'hvf6') .getElementByDataTestsId("lineOfBusiness").should('contain', 'zzz1') .getElementByDataTestsId("rollback").should('contain', 'Rollback') - .checkPlatformValue('xxx1') + cy.checkPlatformValue(`xxx1`) .getElementByDataTestsId("cancelButton").click(); cy.editNode("node-c5b26cc1-a66f-4b69-aa23-6abc7c647c88-vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0") @@ -223,7 +223,7 @@ describe('Drawing Board: Instantiation Templates', function () { // edit vnf cy.editNode("node-21ae311e-432f-4c54-b855-446d0b8ded72-vProbe_NC_VNF 0"); if (testCase.modifySomeValues) { - cy.selectPlatformValue('platform'); + cy.selectPlatformValue(`platform`); cy.selectDropdownOptionByText("tenant", "CESAR-100-D-spjg61909"); } cy.getElementByDataTestsId('form-set').click(); diff --git a/vid-webpack-master/cypress/integration/iFrames/network.popup.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/network.popup.e2e.ts index a17443135..5702d5a0c 100644 --- a/vid-webpack-master/cypress/integration/iFrames/network.popup.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/network.popup.e2e.ts @@ -56,7 +56,7 @@ describe('Network popup', function () { cy.checkIsOptionSelected('productFamily', 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb'); cy.checkIsOptionSelected('lcpRegion', 'hvf6'); cy.checkIsOptionSelected('tenant', '229bcdc6eaeb4ca59d55221141d01f8e'); - cy.checkIsOptionSelected('lineOfBusiness', 'zzz1'); + cy.checkLobValue( "zzz1"); cy.checkPlatformValue('xxx1'); //change platform value cy.selectPlatformValue('platform'); @@ -64,9 +64,9 @@ describe('Network popup', function () { cy.getElementByDataTestsId('numberButton').contains('1'); cy.getElementByDataTestsId('node-ddc3f20c-08b5-40fd-af72-c6d14636b986-ExtVL 0-menu-btn').click({force: true}) .getElementByDataTestsId('context-menu-edit').click({force: true}).then(() => { - cy.checkPlatformValue( 'platform'); + cy.checkPlatformValue('platform'); // cancel button should close the dialog - cy.getElementByDataTestsId('cancelButton').click({force: true}).then(() => { + cy.getElementByDataTestsId('cancelButton').click({force: true, multiple: true}).then(() => { // duplicate network cy.getElementByDataTestsId('node-ddc3f20c-08b5-40fd-af72-c6d14636b986-ExtVL 0-menu-btn').click({force: true}) .getElementByDataTestsId('context-menu-duplicate').click({force: true}).then(() => { @@ -129,7 +129,7 @@ describe('Network popup', function () { cy.selectDropdownOptionByText('productFamily', 'Emanuel'); cy.selectDropdownOptionByText('lcpRegion', 'hvf6'); cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-STTest2'); - cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1'); + cy.selectLobValue("zzz1"); cy.selectPlatformValue('xxx1'); cy.getElementByDataTestsId('form-set').should('not.have.attr', 'disabled'); @@ -175,7 +175,7 @@ describe('Network popup', function () { //add one network cy.getElementByDataTestsId('node-ExtVL 0-add-btn').click({force: true}).then(() => { verifyServiceModelNameInModelInfo(); - cy.fillNetworkPopup(true); + cy.fillNetworkPopup(true, true); }); @@ -216,7 +216,8 @@ describe('Network popup', function () { "FLAG_ADVANCED_PORTS_FILTER": true, "FLAG_REGION_ID_FROM_REMOTE": true, "FLAG_ADD_MSO_TESTAPI_FIELD": true, - "FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT": true + "FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT" :true, + "FLAG_2006_NETWORK_LOB_MULTI_SELECT": true, }, "type": "[FLAGS] Update" }, diff --git a/vid-webpack-master/cypress/integration/iFrames/vnf.popup.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/vnf.popup.e2e.ts index 74ce2a772..3b56ac085 100644 --- a/vid-webpack-master/cypress/integration/iFrames/vnf.popup.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/vnf.popup.e2e.ts @@ -81,7 +81,7 @@ describe('Vnf popup', function () { cy.selectDropdownOptionByText('lcpRegion', 'hvf6'); cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-STTest2'); cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1'); - cy.selectPlatformValue('xxx1'); + cy.selectPlatformValue(`xxx1`); }) }); diff --git a/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/flags.cypress.json b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/flags.cypress.json index 148f6b4d5..7c778c86b 100644 --- a/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/flags.cypress.json +++ b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/flags.cypress.json @@ -25,5 +25,6 @@ "FLAG_2004_CREATE_ANOTHER_INSTANCE_FROM_TEMPLATE": true, "FLAG_2006_VFM_SDNC_PRELOAD_FILES" : true, "FLAG_2006_VFMODULE_TAKES_TENANT_AND_REGION_FROM_VNF": true, - "FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT" :true + "FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT" :true, + "FLAG_2006_NETWORK_LOB_MULTI_SELECT" : true } diff --git a/vid-webpack-master/cypress/support/steps/fill.network.step.ts b/vid-webpack-master/cypress/support/steps/fill.network.step.ts index 4ca1796f1..0fa7f6b32 100644 --- a/vid-webpack-master/cypress/support/steps/fill.network.step.ts +++ b/vid-webpack-master/cypress/support/steps/fill.network.step.ts @@ -5,14 +5,17 @@ declare namespace Cypress { } } -function fillNetworkPopup(shouldSelectAdditionalPlatform: boolean = false): Cypress.Chainable<any> { +function fillNetworkPopup(shouldSelectAdditionalPlatform: boolean = false, shouldSelectAdditionalLob: boolean = false): Cypress.Chainable<any> { 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`); if(shouldSelectAdditionalPlatform){ - cy.selectPlatformValue('platform'); + cy.selectPlatformValue(`platform`); + } + if(shouldSelectAdditionalLob){ + cy.selectLobValue("ONAP"); } return cy.getElementByDataTestsId('form-set').click({force : true}).then((done)=>{ return done; diff --git a/vid-webpack-master/cypress/support/steps/fill.vnf.popup.step.ts b/vid-webpack-master/cypress/support/steps/fill.vnf.popup.step.ts index 29166f67d..7c82cf802 100644 --- a/vid-webpack-master/cypress/support/steps/fill.vnf.popup.step.ts +++ b/vid-webpack-master/cypress/support/steps/fill.vnf.popup.step.ts @@ -12,7 +12,7 @@ function FillVnfPopup(): Chainable<any> { cy.selectDropdownOptionByText('lcpRegion', 'hvf6'); cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-STTest2'); cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1'); - cy.selectPlatformValue('xxx1'); + cy.selectPlatformValue(`xxx1`); return cy.getElementByDataTestsId('form-set').click({force : true}).then((done)=>{ return done; }); diff --git a/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts b/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts index 115173632..b9c051e54 100644 --- a/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts +++ b/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts @@ -1,20 +1,42 @@ declare namespace Cypress { interface Chainable { genericFormSubmitForm: typeof genericFormSubmitForm + selectMultiselectValue: typeof selectMultiselectValue selectPlatformValue: typeof selectPlatformValue + selectLobValue: typeof selectLobValue + checkMultiSelectValue: typeof checkMultiSelectValue checkPlatformValue: typeof checkPlatformValue + checkLobValue: typeof checkLobValue + } } -function selectPlatformValue(selectOption: string) { - cy.getElementByDataTestsId("multi-selectPlatform").get('.c-btn').click({force: true}); - cy.getElementByDataTestsId(`multi-selectPlatform-${selectOption}`).click(); - cy.getElementByDataTestsId("multi-selectPlatform").get('.c-btn').click({force: true}); +function selectMultiselectValue(dataTestsId: string , selectOptionId: string) { + cy.getElementByDataTestsId(dataTestsId).find('.c-btn').eq(0).click({force: true}) + cy.getElementByDataTestsId(selectOptionId).click(); + cy.getElementByDataTestsId(dataTestsId).find('.c-btn').eq(0).click({force: true}) +} + +function selectPlatformValue(selectOptionId: string) { + selectMultiselectValue("multi-selectPlatform", "multi-selectPlatform-" + selectOptionId) +} + +function selectLobValue(selectOptionId: string) { + selectMultiselectValue("multi-lineOfBusiness", "multi-lineOfBusiness-" + selectOptionId) + } function checkPlatformValue(value: string){ - return cy.getElementByDataTestsId("multi-selectPlatform").should("contain", value) + return checkMultiSelectValue("multi-selectPlatform", value) +} + +function checkLobValue(value: string){ + return checkMultiSelectValue("multi-lineOfBusiness", value) +} + +function checkMultiSelectValue(dataTestsId: string, value: string) { + return cy.getElementByDataTestsId(dataTestsId).should("contain", value) } function genericFormSubmitForm(): Chainable<any> { @@ -23,5 +45,10 @@ function genericFormSubmitForm(): Chainable<any> { Cypress.Commands.add('genericFormSubmitForm', genericFormSubmitForm); +Cypress.Commands.add('selectMultiselectValue', selectMultiselectValue); Cypress.Commands.add('selectPlatformValue', selectPlatformValue); +Cypress.Commands.add('selectLobValue', selectLobValue); +Cypress.Commands.add('checkMultiSelectValue', checkMultiSelectValue); Cypress.Commands.add('checkPlatformValue', checkPlatformValue); +Cypress.Commands.add('checkLobValue', checkLobValue); + diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts index e0418fcfa..fe6a2580d 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/networkGenerator/network.control.generator.ts @@ -64,7 +64,7 @@ export class NetworkControlGenerator { result.push(this._sharedControllersService.getLegacyRegion(networkInstance)); result.push(this._sharedControllersService.getTenantControl(serviceId, networkInstance)); result.push(this._sharedControllersService.getPlatformMultiselectControl(networkInstance, result, flags['FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT'])); - result.push(this._sharedControllersService.getLineOfBusinessControl(networkInstance)); + result.push(this._sharedControllersService.getMultiSelectLineOfBusinessControl(networkInstance, flags['FLAG_2006_NETWORK_LOB_MULTI_SELECT'])); } return result; @@ -89,7 +89,7 @@ export class NetworkControlGenerator { result.push(this._sharedControllersService.getLegacyRegion(networkInstance)); result.push(this._sharedControllersService.getTenantControl(serviceId, networkInstance)); result.push(this._sharedControllersService.getPlatformMultiselectControl(networkInstance, result, flags['FLAG_2006_NETWORK_PLATFORM_MULTI_SELECT'])); - result.push(this._sharedControllersService.getLineOfBusinessControl(networkInstance)); + result.push(this._sharedControllersService.getMultiSelectLineOfBusinessControl(networkInstance, flags['FLAG_2006_NETWORK_LOB_MULTI_SELECT'])); result.push(this._sharedControllersService.getRollbackOnFailureControl(networkInstance)); } return result; diff --git a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts index 97c5516db..32259b198 100644 --- a/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts +++ b/vid-webpack-master/src/app/shared/components/genericForm/formControlsServices/sharedControlles/shared.controllers.service.ts @@ -32,6 +32,10 @@ export class SharedControllersService { return this.getLineOfBusinessControlInternal(undefined, instance); }; + getMultiSelectLineOfBusinessControl = (instance: any, isMultiSelected: boolean): MultiselectFormControl => { + return this.getLobMultiselectControl(instance, isMultiSelected); + }; + getLineOfBusinessByOwningEntityControl = (instance?: any, serviceId?: string, controls?: FormControlModel[]): DropdownFormControl => { const service = this._store.getState().service.serviceInstance[serviceId]; const owningEntityName: string = service.owningEntityName; @@ -301,7 +305,7 @@ export class SharedControllersService { ); }; - getLobMultiselectControl = (instance: any, controls: FormControlModel[], isMultiSelected: boolean) : MultiselectFormControl => { + getLobMultiselectControl = (instance: any, isMultiSelected: boolean) : MultiselectFormControl => { return this.getMultiSelectFormControl( 'lineOfBusiness', 'Line of business', |