diff options
Diffstat (limited to 'vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts')
-rw-r--r-- | vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts | 106 |
1 files changed, 92 insertions, 14 deletions
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 dbb9bca4d..0075dc240 100644 --- a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts @@ -1,4 +1,5 @@ -import ObjectLike = Cypress.ObjectLike; +import * as _ from "lodash"; +import {PropertyPath} from "lodash"; describe('Drawing Board: Instantiation Templates', function () { @@ -6,7 +7,7 @@ describe('Drawing Board: Instantiation Templates', function () { beforeEach(() => { cy.clearSessionStorage(); - cy.setTestApiParamToVNF(); + cy.setTestApiParamToGR(); cy.initAAIMock(); cy.initGetAAISubDetails(); cy.initVidMock(); @@ -31,13 +32,12 @@ describe('Drawing Board: Instantiation Templates', function () { assertThatBodyFromDeployRequestEqualsToTemplateFromBackEnd(); }); - it('View a template’s details as expected', ()=> { + it('Given a stored template - when "edit" vnf and vfmodules are opened - then template’s details are visible as expected and deploy without changes', () => { loadDrawingBoardWithRecreateMode(); // Then... - cy.drawingBoardTreeOpenContextMenuByElementDataTestId("node-21ae311e-432f-4c54-b855-446d0b8ded72-vProbe_NC_VNF 0") - .drawingBoardTreeClickOnContextMenuOptionByName('Edit') + editNode("node-21ae311e-432f-4c54-b855-446d0b8ded72-vProbe_NC_VNF 0") .getElementByDataTestsId("instanceName").should('have.value', 'hvf6arlba007') .getElementByDataTestsId("productFamily").should('contain', 'Emanuel') .getElementByDataTestsId("tenant").should('contain', 'DN5242-Nov21-T1') @@ -47,27 +47,26 @@ describe('Drawing Board: Instantiation Templates', function () { .checkPlatformValue('xxx1') .getElementByDataTestsId("cancelButton").click(); - cy.drawingBoardTreeOpenContextMenuByElementDataTestId("node-c5b26cc1-a66f-4b69-aa23-6abc7c647c88-vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0") - .drawingBoardTreeClickOnContextMenuOptionByName('Edit') + editNode("node-c5b26cc1-a66f-4b69-aa23-6abc7c647c88-vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0") .getElementByDataTestsId("instanceName").should('have.value', 'hvf6arlba007_lba_Base_01') .getElementByDataTestsId("lcpRegion").should('contain', 'hvf6') .getElementByDataTestsId("tenant").should('contain', 'DN5242-Nov21-T1') .getElementByDataTestsId("rollback").should('contain', 'Rollback') .getElementByDataTestsId("cancelButton").click(); - cy.drawingBoardTreeOpenContextMenuByElementDataTestId("node-c09e4530-8fd8-418f-9483-2f57ce927b05-vprobe_nc_vnf0..VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1") - .drawingBoardTreeClickOnContextMenuOptionByName('Edit') + editNode("node-c09e4530-8fd8-418f-9483-2f57ce927b05-vprobe_nc_vnf0..VprobeNcVnf..FE_Add_On_Module_vlbagent_eph..module-1") + .getElementByDataTestsId("instanceName").should('have.value', 'my_hvf6arlba007_lba_dj_01') + .getElementByDataTestsId("volumeGroupName").should('have.value', 'my_special_hvf6arlba007_lba_dj_01_vol') .getElementByDataTestsId("lcpRegion").should('contain', 'hvf6') .getElementByDataTestsId("tenant").should('contain', 'DN5242-Nov21-T1') .getElementByDataTestsId("rollback").should('contain', 'Rollback') + .getElementByDataTestsId("sdncPreLoad").should('have.value', 'on') .getElementByDataTestsId("cancelButton").click(); - - assertThatBodyFromDeployRequestEqualsToTemplateFromBackEnd(); }); - it(`Edit the service`, function () { + it(`Given a stored template - when "edit" service is opened - then template’s details are visible as expected`, function () { loadDrawingBoardWithRecreateMode(); @@ -80,13 +79,68 @@ describe('Drawing Board: Instantiation Templates', function () { .getElementByDataTestsId("project").should('contain', 'WATKINS') .getElementByDataTestsId("rollback").should('contain', 'Rollback'); + }); + [ + {desc: "with changes", modifySomeValues: true}, + {desc: "without changes", modifySomeValues: false}, + ].forEach((testCase) => { + + it(`Given a stored template - edit service vnf and vfmodule ${testCase.desc} - deploy request should be ${testCase.desc}`, function () { + + loadDrawingBoardWithRecreateMode(); + + //edit service + cy.openServiceContextMenu(); + cy.getElementByDataTestsId("context-menu-header-edit-item").click(); + if (testCase.modifySomeValues) { + cy.clearInput("instanceName"); + cy.typeToInput("instanceName", "different.instance.name"); + } + cy.getElementByDataTestsId('form-set').click(); + + // edit vnf + editNode("node-21ae311e-432f-4c54-b855-446d0b8ded72-vProbe_NC_VNF 0"); + if (testCase.modifySomeValues) { + cy.selectPlatformValue('platform'); + cy.selectDropdownOptionByText("tenant", "CESAR-100-D-spjg61909"); + } + cy.getElementByDataTestsId('form-set').click(); + + //edit vf module + editNode("node-c5b26cc1-a66f-4b69-aa23-6abc7c647c88-vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0"); + if (testCase.modifySomeValues) { + cy.getElementByDataTestsId('sdncPreLoad').click(); + } + cy.getElementByDataTestsId('form-set').click(); + + // Then... + let vnfPath = [ + "vnfs", "vProbe_NC_VNF 0" + ]; + let vfModule_0Path = [ + ...vnfPath, "vfModules", + "vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0", + "vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0ahubg", + ]; + + assertThatBodyFromDeployRequestEqualsToFile(testCase.modifySomeValues ? [ + {path: ["instanceName"], value: "different.instance.name"}, + {path: ["existingNames", "vprobe_nc_service_dg_new_si"], value: undefined}, + {path: ["existingNames", "different.instance.name"], value: ""}, + + {path: [...vnfPath, "platformName"], value: "xxx1,platform"}, + {path: [...vnfPath, "tenantId"], value: "f2f3830e4c984d45bcd00e1a04158a79"}, + + {path: [...vfModule_0Path, "sdncPreLoad"], value: true}, + ] : []); + }) - - }); }); + }); }); +}); function loadDrawingBoardWithRecreateMode() { const serviceModelId = '6cfeeb18-c2b0-49df-987a-da47493c8e38'; @@ -112,6 +166,11 @@ function loadDrawingBoardWithRecreateMode() { cy.wait('@templateTopology'); } +function editNode(dataTestId: string) { + return cy.drawingBoardTreeOpenContextMenuByElementDataTestId(dataTestId) + .drawingBoardTreeClickOnContextMenuOptionByName('Edit') +} + function assertThatBodyFromDeployRequestEqualsToTemplateFromBackEnd() { cy.getDrawingBoardDeployBtn().click(); cy.wait('@expectedPostAsyncInstantiation').then(xhr => { @@ -124,6 +183,25 @@ function assertThatBodyFromDeployRequestEqualsToTemplateFromBackEnd() { }); } + +function assertThatBodyFromDeployRequestEqualsToFile(deviationFromExpected: { path: PropertyPath, value: any }[] = []) { + cy.getDrawingBoardDeployBtn().click(); + cy.wait('@expectedPostAsyncInstantiation').then(xhr => { + + cy.readFile('../vid-automation/src/test/resources/asyncInstantiation/templates__instance_from_template__set_without_modify1.json').then((expectedResult) => { + setDeviationInExpected(expectedResult, deviationFromExpected); + cy.deepCompare(xhr.request.body, expectedResult); + }); + + }); +} + +function setDeviationInExpected(expectedResult: any, deviation: { path: PropertyPath; value: any }[]) { + for (const caveat of deviation) { + _.set(expectedResult, caveat.path, caveat.value); + } +} + //We use this function because the deployService() on drawing-board-header.component class // changes rollbackOnFailure value from string type to boolean. function convertRollbackOnFailureValueFromStringToBoolean(expectedResult: any) { |