From 022efbf54ddd662ede2d000a847ed02ca6d05d97 Mon Sep 17 00:00:00 2001 From: Eylon Malin Date: Sun, 12 Jan 2020 14:35:39 +0200 Subject: fix open modern ui from Create new service instance flow Issue-ID: VID-724 Change-Id: I804aadce8fcdf888ef4364e474e8cc229b158920 Signed-off-by: Eylon Malin Signed-off-by: Yoav Schneiderman --- .../scripts/controller/creationDialogController.js | 7 ++- .../cypress/integration/iFrames/browse-sdc.e2e.ts | 39 +++++++++++++++ .../cypress/support/jsonBuilders/mocks/aai.mock.ts | 15 ++++++ .../mocks/jsons/aaiGetModelsByServiceType.json | 58 ++++++++++++++++++++++ 4 files changed, 117 insertions(+), 2 deletions(-) create mode 100644 vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/aaiGetModelsByServiceType.json diff --git a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js index 7b6d4af6c..a6f6cc69d 100755 --- a/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js +++ b/vid-app-common/src/main/webapp/app/vid/scripts/controller/creationDialogController.js @@ -93,11 +93,14 @@ var creationDialogController = function (COMPONENT, FIELD, PARAMETER, $scope, $h if (!$scope.shouldShowOldPopup()) { + let modelNameVersionId = request.modelNameVersionId ? + request.modelNameVersionId : + (DataService.getModelInfo(COMPONENT.SERVICE) ? DataService.getModelInfo(COMPONENT.SERVICE).modelNameVersionId : ""); if(DataService.getIsInstantiationTemplateExists()){ - $scope.url = COMPONENT.INSTANTIATION_TEMPLATES_IFRAME_URL + request.modelNameVersionId; + $scope.url = COMPONENT.INSTANTIATION_TEMPLATES_IFRAME_URL + modelNameVersionId; window.addEventListener("message", receiveMessage, false); }else { - $scope.url = COMPONENT.SERVICE_POPUP_IFRAME_URL + request.modelNameVersionId + "&isCreate=true&r=" + Math.random(); + $scope.url = COMPONENT.SERVICE_POPUP_IFRAME_URL + modelNameVersionId + "&isCreate=true&r=" + Math.random(); window.addEventListener("message", receiveMessage, false); } } diff --git a/vid-webpack-master/cypress/integration/iFrames/browse-sdc.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/browse-sdc.e2e.ts index a71d9424e..b1671a4e5 100644 --- a/vid-webpack-master/cypress/integration/iFrames/browse-sdc.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/browse-sdc.e2e.ts @@ -98,6 +98,45 @@ describe('Browse SDC', function () { }); }); + it(`browse sdc open create new service instance flow`, function () { + const MACRO_FOR_NEW_FLOW_ID: string = '745d1bf1-9ed1-413f-8111-f1e984ad63fb'; + + cy.initGetAAISubDetails(); + + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiGetModelsByServiceType.json').then((res) => { + jsonBuilderAndMock.basicJson(res, + Cypress.config('baseUrl') + '/aai_get_models_by_service_type/**', + 200, + 0, + 'aaiGetModelByServiceType'); + }); + + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/Dror_service1806_Macro1.json').then((res) => { + jsonBuilderAndMock.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services/' + MACRO_FOR_NEW_FLOW_ID, + 200, + 0, + 'MACRO_FOR_NEW_FLOW'); + }); + + cy.get('span').contains('Create New Service Instance').click({force: true}) + .selectDropdownOptionByText('subscriberName', 'SILVIA ROBBINS'); + cy.get('button').contains('Submit').click({force: true}); + cy.selectDropdownOptionByText('serviceType', 'TYLER SILVIA'); + cy.get('button').contains('Submit').click({force: true}); + cy.wait("@aaiGetModelByServiceType").then(() => { + cy.getElementByDataTestsId('deploy-' + MACRO_FOR_NEW_FLOW_ID).click({force: true}); + cy.get('button').contains('Deploy').eq(0).click({force: true}); + cy.get('iframe').then(function ($iframe) { + expect($iframe.attr('src')).to.contain(`app/ui/#/servicePopup?serviceModelId=74fa72dd-012b-49c3-800d-06b12bcaf1a0`); + }); + }); + + cy.visit("welcome.htm"); //relaod page to not break the following tests + + }); + + it(`browse sdc of service without instantiationType open aLaCarte popup`, function () { const VERY_OLD_SERVICE_UUID: string = "09c476c7-91ae-44b8-a731-04d8d8fa3695"; const TEST_MOCKS_PATH = "cypress/support/jsonBuilders/mocks/jsons/bug_aLaCarteServiceWrongPopup/"; diff --git a/vid-webpack-master/cypress/support/jsonBuilders/mocks/aai.mock.ts b/vid-webpack-master/cypress/support/jsonBuilders/mocks/aai.mock.ts index ae60361c2..807a3bcda 100644 --- a/vid-webpack-master/cypress/support/jsonBuilders/mocks/aai.mock.ts +++ b/vid-webpack-master/cypress/support/jsonBuilders/mocks/aai.mock.ts @@ -9,6 +9,7 @@ declare namespace Cypress { initActiveVPNs : typeof initActiveVPNs; initGetAAISubDetails : typeof initGetAAISubDetails; initAAIServices: typeof initAAIServices; + initGetModelByServiceType: typeof initGetModelByServiceType; } } @@ -48,6 +49,19 @@ function initGetAAISubDetails(response? : JSON) : void { }); } +function initGetModelByServiceType(response? : JSON) : void { + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiSubDetails.json').then((res) => { + cy.server() + .route({ + method: 'GET', + status: 200, + url: Cypress.config('baseUrl') + "/aai_get_models_by_service_type/**", + response: response ? response : res + }).as('aai-sub-details') + }); +} + + function initAlaCarteService(response? : JSON) : void { cy.readFile('cypress/support/jsonBuilders/mocks/jsons/a-la-carteService.json').then((res) => { cy.server() @@ -156,6 +170,7 @@ Cypress.Commands.add('initSearchVNFMemebers', initSearchVNFMemebers); Cypress.Commands.add('initActiveNetworks', initActiveNetworks); Cypress.Commands.add('initActiveVPNs', initActiveVPNs); Cypress.Commands.add('initAAIServices', initAAIServices); +Cypress.Commands.add('initGetModelByServiceType', initGetModelByServiceType); diff --git a/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/aaiGetModelsByServiceType.json b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/aaiGetModelsByServiceType.json new file mode 100644 index 000000000..2540650ce --- /dev/null +++ b/vid-webpack-master/cypress/support/jsonBuilders/mocks/jsons/aaiGetModelsByServiceType.json @@ -0,0 +1,58 @@ +{ + "inventory-response-item": [ + { + "service-subscription": { + "service-type": "TYLER SILVIA", + "resource-version": "1494001841964" + }, + "extra-properties": {}, + "inventory-response-items": { + "inventory-response-item":[ + { + "model-name": "RG_11-18_vccf_srvc", + "service-instance": { + "service-instance-id": "b9769e8f-70aa-4b05-8988-64044aa63498", + "service-instance-name": "TestCharlie", + "model-invariant-id": "4af418a9-c2f5-4fae-a577-b69d6341eee8", + "model-version-id": "745d1bf1-9ed1-413f-8111-f1e984ad63fb", + "resource-version": "1494002070115" + }, + "extra-properties": { + "extra-property": [ + { + "property-name": "model-ver.model-description", + "property-value": "Service for vccf" + }, + { + "property-name": "model-ver.model-version-id", + "property-value": "745d1bf1-9ed1-413f-8111-f1e984ad63fb" + }, + { + "property-name": "model-ver.model-name", + "property-value": "RG_11-18_vccf_srvc" + }, + { + "property-name": "model.model-type", + "property-value": "service" + }, + { + "property-name": "model.model-invariant-id", + "property-value": "4af418a9-c2f5-4fae-a577-b69d6341eee8" + }, + { + "property-name": "model.model-description" + }, + { + "property-name": "model-ver.model-version", + "property-value": "1.0" + } + ] + } + } + ] + } + } + ] +} + + -- cgit 1.2.3-korg