From 12ceb440bd3753e09fb21a5b14038a01cc530fa7 Mon Sep 17 00:00:00 2001 From: Alexey Sandler Date: Mon, 16 Dec 2019 10:18:41 +0200 Subject: Allow edit service button to be shown on service context menu in recreate mode. Issue-ID: VID-724 Change-Id: Ife26ef3278a37555a80fe4f3e8afa56666ca81ba Signed-off-by: Alexey Sandler --- .../templates__instance_template.json | 8 +++---- .../iFrames/instantiation-templates.e2e.ts | 26 ++++++++++++++-------- .../steps/drawingBoard/drawingBoardModel.steps.ts | 1 + .../steps/genericForm/genericFormAction.steps.ts | 5 +++++ .../drawing-board-header.service.spec.ts | 24 ++++++++++++++++++++ .../drawing-board-header.service.ts | 2 +- 6 files changed, 52 insertions(+), 14 deletions(-) diff --git a/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json b/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json index a874fec4c..a7b3a04c5 100644 --- a/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json +++ b/vid-automation/src/test/resources/asyncInstantiation/templates__instance_template.json @@ -41,12 +41,12 @@ "modelType": "vnf", "modelVersion": "1.0" }, - "productFamilyId": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", + "productFamilyId": "e433710f-9217-458d-a79d-1c7aff376d89", "instanceName": "hvf6arlba007", "action": "Create", "platformName": "xxx1", "lcpCloudRegionId": "hvf6", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", + "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77", "instanceParams": [ {} ], @@ -67,7 +67,7 @@ "instanceName": "hvf6arlba007_lba_Base_01", "action": "Create", "lcpCloudRegionId": "hvf6", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", + "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77", "instanceParams": [ {} ], @@ -90,7 +90,7 @@ "instanceName": "hvf6arlba007_lba_dj_01", "action": "Create", "lcpCloudRegionId": "hvf6", - "tenantId": "092eb9e8e4b7412e8787dd091bc58e86", + "tenantId": "4914ab0ab3a743e58f0eefdacc1dde77", "instanceParams": [ {} ], 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 8f76908b9..dbb9bca4d 100644 --- a/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/instantiation-templates.e2e.ts @@ -8,6 +8,7 @@ describe('Drawing Board: Instantiation Templates', function () { cy.clearSessionStorage(); cy.setTestApiParamToVNF(); cy.initAAIMock(); + cy.initGetAAISubDetails(); cy.initVidMock(); cy.initDrawingBoardUserPermission(); cy.login(); @@ -21,7 +22,7 @@ describe('Drawing Board: Instantiation Templates', function () { describe('Load Page and Deploy', () => { - it(`Given a stored template - when click "deploy" - then a coherent request should be sent upon deploy`, function () { + it(`Given a stored template - when click "deploy" - then a coherent request should be sent upon deploy`, () => { loadDrawingBoardWithRecreateMode(); @@ -43,9 +44,8 @@ describe('Drawing Board: Instantiation Templates', function () { .getElementByDataTestsId("lcpRegion").should('contain', 'hvf6') .getElementByDataTestsId("lineOfBusiness").should('contain', 'zzz1') .getElementByDataTestsId("rollback").should('contain', 'Rollback') - - - .getElementByDataTestsId("cancelButton").click(); + .checkPlatformValue('xxx1') + .getElementByDataTestsId("cancelButton").click(); cy.drawingBoardTreeOpenContextMenuByElementDataTestId("node-c5b26cc1-a66f-4b69-aa23-6abc7c647c88-vprobe_nc_vnf0..VprobeNcVnf..FE_base_module..module-0") .drawingBoardTreeClickOnContextMenuOptionByName('Edit') @@ -53,7 +53,6 @@ describe('Drawing Board: Instantiation Templates', function () { .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") @@ -68,16 +67,25 @@ describe('Drawing Board: Instantiation Templates', function () { assertThatBodyFromDeployRequestEqualsToTemplateFromBackEnd(); }); - it(`Edit the service`, function () { + it(`Edit the service`, function () { loadDrawingBoardWithRecreateMode(); cy.openServiceContextMenu() - .getElementByDataTestsId("context-menu-header-edit-item").click({force : true}) - }); + .getElementByDataTestsId("context-menu-header-edit-item").click() + .getElementByDataTestsId("instanceName").should('have.value', 'vProbe_NC_Service_DG_new_SI') + .getElementByDataTestsId("subscriberName").should('contain', 'SILVIA ROBBINS') + .getElementByDataTestsId("serviceType").should('contain', 'TYLER SILVIA') + .getElementByDataTestsId("owningEntity").should('contain', 'WayneHolland') + .getElementByDataTestsId("project").should('contain', 'WATKINS') + .getElementByDataTestsId("rollback").should('contain', 'Rollback'); + + + + + }); }); }); - }); function loadDrawingBoardWithRecreateMode() { diff --git a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts index 7854899f8..ae3bf6da7 100644 --- a/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts +++ b/vid-webpack-master/cypress/support/steps/drawingBoard/drawingBoardModel.steps.ts @@ -18,6 +18,7 @@ function getDrawingBoardDeployBtn() : Chainable { return cy.getElementByDataTestsId('deployBtn'); } + Cypress.Commands.add('drawingBoardPressAddButtonByElementName', drawingBoardPressAddButtonByElementName); Cypress.Commands.add('drawingBoardNumberOfExistingElementsShouldContains', drawingBoardNumberOfExistingElementsShouldContains); Cypress.Commands.add('getDrawingBoardDeployBtn', getDrawingBoardDeployBtn); 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 00a945711..115173632 100644 --- a/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts +++ b/vid-webpack-master/cypress/support/steps/genericForm/genericFormAction.steps.ts @@ -2,6 +2,7 @@ declare namespace Cypress { interface Chainable { genericFormSubmitForm: typeof genericFormSubmitForm selectPlatformValue: typeof selectPlatformValue + checkPlatformValue: typeof checkPlatformValue } } @@ -12,6 +13,9 @@ function selectPlatformValue(selectOption: string) { cy.getElementByDataTestsId("multi-selectPlatform").get('.c-btn').click({force: true}); } +function checkPlatformValue(value: string){ + return cy.getElementByDataTestsId("multi-selectPlatform").should("contain", value) +} function genericFormSubmitForm(): Chainable { return cy.getElementByDataTestsId('form-set').click({force: true}); @@ -20,3 +24,4 @@ function genericFormSubmitForm(): Chainable { Cypress.Commands.add('genericFormSubmitForm', genericFormSubmitForm); Cypress.Commands.add('selectPlatformValue', selectPlatformValue); +Cypress.Commands.add('checkPlatformValue', checkPlatformValue); diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts index 76fc28a9e..7e28b2a65 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.spec.ts @@ -63,6 +63,30 @@ describe('Generate path to old View/Edit ', () => { })().then(done).catch(done.fail)); + each([ + ['', DrawingBoardModes.RECREATE, true], + ['', DrawingBoardModes.CREATE, true], + ['Create', DrawingBoardModes.EDIT, true], + ['Create', DrawingBoardModes.RETRY_EDIT, true], + ['Create', DrawingBoardModes.VIEW, false], + ['Create', DrawingBoardModes.OLD_VIEW_EDIT, false], + + + ]). + test('should show edit button in correct Drawing Board Mode state', (action: string, mode: DrawingBoardModes, expected: boolean) => { + jest.spyOn(store, 'getState').mockReturnValue({ + service: { + serviceInstance : { + 'serviceInstanceId' : { + action: action + } + } + } + }); + + let result = service.showEditService(mode,'serviceInstanceId' ); + expect (result).toBe(expected); + }); test('should generate url to old view/edit ', () => { const query: string = 'subscriberId=subscriberId&subscriberName=subscriberName&serviceType=serviceType&serviceInstanceId=serviceInstanceId'; diff --git a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts index 634fa6271..4e8e31163 100644 --- a/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts +++ b/vid-webpack-master/src/app/drawingBoard/service-planning/drawing-board-header/drawing-board-header.service.ts @@ -96,7 +96,7 @@ export class DrawingBoardHeaderService{ showEditService(mode: DrawingBoardModes, serviceModelId: string): boolean{ const serviceInstance = this.store.getState().service.serviceInstance; - return mode === DrawingBoardModes.CREATE || ((mode === DrawingBoardModes.RETRY_EDIT || mode === DrawingBoardModes.EDIT || mode === DrawingBoardModes.RECREATE )&& + return mode === DrawingBoardModes.CREATE || mode === DrawingBoardModes.RECREATE || ((mode === DrawingBoardModes.RETRY_EDIT || mode === DrawingBoardModes.EDIT)&& !_.isNil(serviceInstance) && !_.isNil(serviceInstance[serviceModelId])&& serviceInstance[serviceModelId].action === ServiceInstanceActions.Create); } -- cgit 1.2.3-korg