From 51d9784740b2fa457fe39046de222930d07da0c1 Mon Sep 17 00:00:00 2001 From: Yoav Schneiderman Date: Wed, 1 Jan 2020 10:23:16 +0200 Subject: Show Templates popup when deploying from "SDC Catalog" Issue-ID: VID-739 Signed-off-by: Yoav Schneiderman Change-Id: I99fe7eff025341da9b8f8555c8fda4528c2c1426 Signed-off-by: Yoav Schneiderman --- .../cypress/integration/iFrames/browse-sdc.e2e.ts | 134 +++++++++++++-------- .../generic-form-popup.component.ts | 6 +- .../instantiation.templates.modal.component.html | 1 + .../instantiation.templates.modal.component.ts | 2 +- .../search-elements-modal.component.ts | 6 +- .../src/app/shared/utils/iframe.service.spec.ts | 40 ++++++ .../src/app/shared/utils/iframe.service.ts | 13 +- 7 files changed, 138 insertions(+), 64 deletions(-) create mode 100644 vid-webpack-master/src/app/shared/utils/iframe.service.spec.ts (limited to 'vid-webpack-master') 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 b3ef7f032..427696561 100644 --- a/vid-webpack-master/cypress/integration/iFrames/browse-sdc.e2e.ts +++ b/vid-webpack-master/cypress/integration/iFrames/browse-sdc.e2e.ts @@ -4,72 +4,105 @@ import {JsonBuilder} from '../../support/jsonBuilders/jsonBuilder'; import {ServiceModel} from '../../support/jsonBuilders/models/service.model'; describe('Browse SDC', function () { - var jsonBuilderAndMock : JsonBuilder = new JsonBuilder(); + const jsonBuilderAndMock: JsonBuilder = new JsonBuilder(); - beforeEach(() => { - cy.clearSessionStorage(); - cy.preventErrorsOnLoading(); - cy.initAAIMock(); - cy.initVidMock(); - cy.initZones(); - cy.login(); - cy.visit("welcome.htm") + beforeEach(() => { + cy.clearSessionStorage(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + cy.initZones(); + cy.login(); + cy.visit("welcome.htm") + }); + + afterEach(() => { + cy.screenshot(); + }); + + it(`browse sdc open macro with network and then macro for new flow`, function () { + // const MACRO_WITH_CONFIGURATION_ID: string = 'ee6d61be-4841-4f98-8f23-5de9da846ca7'; + const MACRO_WITH_NETWORK_ID: string = "bd8ffd14-da36-4f62-813c-6716ba9f4354"; + const MACRO_FOR_NEW_FLOW_ID: string = '74fa72dd-012b-49c3-800d-06b12bcaf1a0'; + const CANCEL_BUTTON = "cancelButton"; + + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/list-services.json').then((res) => { + jsonBuilderAndMock.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services?distributionStatus=DISTRIBUTED', + 200, + 0, + 'list_services'); }); - afterEach(() => { - cy.screenshot(); + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/service-with-configuration.json').then((res) => { + jsonBuilderAndMock.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services/' + MACRO_WITH_NETWORK_ID, + 200, + 0, + 'MACRO_WITH_CONFIGURATION'); }); - it(`browse sdc open macro with network and then macro for new flow`, function () { - // const MACRO_WITH_CONFIGURATION_ID: string = 'ee6d61be-4841-4f98-8f23-5de9da846ca7'; - const MACRO_WITH_NETWORK_ID: string = "bd8ffd14-da36-4f62-813c-6716ba9f4354"; - const MACRO_FOR_NEW_FLOW_ID: string = '74fa72dd-012b-49c3-800d-06b12bcaf1a0'; - const CANCEL_BUTTON = "cancelButton"; - - cy.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/list-services.json').then((res) => { - jsonBuilderAndMock.basicJson(res, - Cypress.config('baseUrl') + '/rest/models/services?distributionStatus=DISTRIBUTED', - 200, - 0, - 'list_services'); - }); + 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.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/service-with-configuration.json').then((res) => { - jsonBuilderAndMock.basicJson(res, - Cypress.config('baseUrl') + '/rest/models/services/' + MACRO_WITH_NETWORK_ID, - 200, - 0, - 'MACRO_WITH_CONFIGURATION'); - }); + cy.get('span').contains('Browse SDC Service Models').click({force: true}); + cy.wait("@list_services").then(() => { + cy.getElementByDataTestsId('deploy-' + MACRO_WITH_NETWORK_ID).click({force: true}) + .getElementByDataTestsId(CANCEL_BUTTON).click({force: true}); + cy.getElementByDataTestsId('deploy-' + MACRO_FOR_NEW_FLOW_ID).click({force: true}); + cy.get("iframe"); + }); - 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.visit("welcome.htm"); //relaod page to not break the following tests + + }); + + it(`browse sdc should open instantiation template modal if service hasTemplate is true`, function () { + const SERVICE_MODEL_ID: string = '74fa72dd-012b-49c3-800d-06b12bcaf1a0'; - cy.get('span').contains('Browse SDC Service Models').click({force: true}); - cy.wait("@list_services").then(() => { - cy.getElementByDataTestsId('deploy-' + MACRO_WITH_NETWORK_ID).click({force: true}) - .getElementByDataTestsId(CANCEL_BUTTON).click({force: true}); - cy.getElementByDataTestsId('deploy-' + MACRO_FOR_NEW_FLOW_ID).click({force: true}); - cy.get("iframe"); + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/list-services.json').then((res) => { + res.services = res.services.map((service: { uuid: string, hasTemplate: boolean }) => { + if (service.uuid === SERVICE_MODEL_ID) { + service.hasTemplate = true; + } + return service; }); + jsonBuilderAndMock.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services?distributionStatus=DISTRIBUTED', + 200, + 0, + 'list_services'); + }); - cy.visit("welcome.htm"); //relaod page to not break the following tests + cy.readFile('cypress/support/jsonBuilders/mocks/jsons/bug616888/Dror_service1806_Macro1.json').then((res) => { + jsonBuilderAndMock.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services/' + SERVICE_MODEL_ID, + 200, + 0, + 'MACRO_FOR_NEW_FLOW'); + }); + + cy.get('span').contains('Browse SDC Service Models').click({force: true}); + cy.wait("@list_services").then(() => { + cy.getElementByDataTestsId('deploy-' + SERVICE_MODEL_ID).click({force: true}); + cy.get('iframe').then(function ($iframe) { + expect($iframe.attr('src')).to.contain(`app/ui/#/instantiationTemplatesPopup?serviceModelId=${SERVICE_MODEL_ID}`); + }); }); + }); 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/"; + const TEST_MOCKS_PATH = "cypress/support/jsonBuilders/mocks/jsons/bug_aLaCarteServiceWrongPopup/"; - const CANCEL_BUTTON = "cancelButton"; - - cy.readFile(TEST_MOCKS_PATH+'list-services.json').then((res) => { + cy.readFile(TEST_MOCKS_PATH + 'list-services.json').then((res) => { jsonBuilderAndMock.basicJson(res, Cypress.config('baseUrl') + '/rest/models/services?distributionStatus=DISTRIBUTED', 200, @@ -77,7 +110,7 @@ describe('Browse SDC', function () { 'list_services'); }); - cy.readFile(TEST_MOCKS_PATH+'serviceWithoutInstantiationType.json').then((res) => { + cy.readFile(TEST_MOCKS_PATH + 'serviceWithoutInstantiationType.json').then((res) => { jsonBuilderAndMock.basicJson(res, Cypress.config('baseUrl') + '/rest/models/services/' + VERY_OLD_SERVICE_UUID, 200, @@ -96,5 +129,4 @@ describe('Browse SDC', function () { }); - }); diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts index 3cd633de6..eb608652c 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/generic-form-popup.component.ts @@ -70,11 +70,7 @@ export class GenericFormPopupComponent extends DialogComponent { - window.parent.postMessage("closeIframe", "*"); - }, 15); + this._iframeService.closeIframe(this.dialogService, this); } shouldShowNotification(): boolean { diff --git a/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.component.html b/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.component.html index 07fc7ab22..e2922b2a2 100644 --- a/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.component.html +++ b/vid-webpack-master/src/app/shared/components/genericFormPopup/instantiationTemplatesModal/instantiation.templates.modal.component.html @@ -2,6 +2,7 @@