From c8a3cfffe97ec18a54f43e82c3d4f65a65d7eefb Mon Sep 17 00:00:00 2001 From: Alexey Sandler Date: Wed, 6 May 2020 18:58:14 +0300 Subject: Add to VFM context menu action "Add pause upon completion". Issue-ID: VID-821 Signed-off-by: Alexey Sandler Change-Id: I8b0ef7021fb7b74e8ad12ae92e581510491d9605 Signed-off-by: Alexey Sandler --- .../iFrames/pauseInstantiationOnVfModule.e2e.ts | 97 ++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModule.e2e.ts (limited to 'vid-webpack-master/cypress/integration/iFrames') diff --git a/vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModule.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModule.e2e.ts new file mode 100644 index 000000000..c725e33fc --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/pauseInstantiationOnVfModule.e2e.ts @@ -0,0 +1,97 @@ +/// / + +describe('Create Instance page: Pause after vfModule instantiation ', () => { + + beforeEach(() => { + cy.clearSessionStorage(); + cy.setTestApiParamToGR(); + cy.initVidMock(); + cy.permissionVidMock(); + cy.login(); + + }); + + afterEach(() => { + cy.screenshot(); + }); + + it(`Pause on VFModule instantiation: create two vfmodules and pause after a first vfmodule`, function () { + 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(reduxState); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=f3862254-8df2-4a0a-8137-0a9fe985860c'); + const vnfName = "vOCG_1804_VF 0"; + let vfModulesNames: Array = [ + 'vocg_1804_vf0..Vocg1804Vf..base_ocg..module-0', + 'vocg_1804_vf0..Vocg1804Vf..ocgapp_004..module-11' + ]; + const uuidAndVfModuleNames: Array = [ + '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]); + addALaCarteVfModuleEcompGeneratedNamingTrue(vnfName, vfModulesNames[1], uuidAndVfModuleNames[1]); + pauseOnVfModuleInstantiation('node-' + uuidAndVfModuleNames[1], 0) + mockAsyncBulkResponse(); + cy.getDrawingBoardDeployBtn().click(); + + cy.wait('@expectedPostAsyncInstantiation') + .then(xhr => { + let vfModules = bodyOf(xhr).vnfs['vOCG_1804_VF 0'].vfModules; + + let unPausedVModule = vfModules[vfModulesNames[0]]; + const unPausedVModuleObject = unPausedVModule[Object.keys(unPausedVModule)[0]]; + expect(unPausedVModuleObject.pauseInstantiation).equals(undefined); + + let pausedVModule = vfModules[vfModulesNames[1]]; + const pausedVModuleObject = pausedVModule[Object.keys(pausedVModule)[0]]; + expect(pausedVModuleObject.pauseInstantiation).equals("afterCompletion"); + }); + }); + }); + + function addALaCarteVfModuleEcompGeneratedNamingTrue(vnfName: string, vfModulesName: string, uuidAndVfModuleName: string): Chainable { + 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('form-set').click(); + }) + }) + }) + }) + } + + function bodyOf(xhr: Cypress.WaitXHR) { + return JSON.parse(JSON.stringify(xhr.request.body)); + } + + function mockAsyncBulkResponse() { + cy.server().route({ + url: Cypress.config('baseUrl') + '/asyncInstantiation/bulk', + method: 'POST', + status: 200, + response: "[]", + }).as("expectedPostAsyncInstantiation"); + } + + + function pauseOnVfModuleInstantiation(nodeId: string, index: number) { + cy.drawingBoardTreeOpenContextMenuByElementDataTestId(`${nodeId}`, index) + .getElementByDataTestsId('context-menu-pause').click({force: true}); + } + +}); -- cgit 1.2.3-korg