From ff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 15:57:37 +0300 Subject: New Angular UI from 1806 Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666 Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- .../cypress/integration/iFrames/ala-carte.e2e.ts | 80 ++++ .../integration/iFrames/auditInfo.modal.e2e.ts | 37 ++ .../integration/iFrames/drawingBoard.e2e.ts | 130 +++++++ .../integration/iFrames/instantiationStatus.e2e.ts | 50 +++ .../integration/iFrames/service.popup.e2e.ts | 57 +++ .../integration/iFrames/tenantIsolation.e2e.ts | 18 + .../cypress/integration/iFrames/viewEdit.e2e.ts | 424 +++++++++++++++++++++ .../integration/shared/error.message.popup.e2e.ts | 33 ++ .../cypress/integration/shared/spinner.e2e.ts | 36 ++ 9 files changed, 865 insertions(+) create mode 100644 vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/iFrames/auditInfo.modal.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/iFrames/instantiationStatus.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/iFrames/tenantIsolation.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/iFrames/viewEdit.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/shared/error.message.popup.e2e.ts create mode 100644 vid-webpack-master/cypress/integration/shared/spinner.e2e.ts (limited to 'vid-webpack-master/cypress/integration') diff --git a/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts new file mode 100644 index 000000000..22eb88ca7 --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts @@ -0,0 +1,80 @@ +/// +/// +import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder'; +import { ServiceModel } from '../../support/jsonBuilders/models/service.model'; + +describe('A la carte', function () { + describe('check service name', () => { + var jsonBuilderAAIService : JsonBuilder = new JsonBuilder(); + + + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + cy.initAlaCarteService(); + cy.initZones(); + cy.login(); + }); + }); + + const SERVICE_ID: string = '4d71990b-d8ad-4510-ac61-496288d9078e'; + const INSTANCE_NAME_MANDATORY_MESSAGE: string = 'Missing data ("Instance Name" and 3 other fields'; + const INSTANCE_NAME_NOT_MANDATORY_MESSAGE: string = 'Missing data ("Subscriber Name" and 2 other fields)'; + const CONFIRM_BUTTON : string = 'confirmButton'; + + + // function changeServiceName(obj : AAIServiceModel){ + // obj.service.version = "NEW VALUE"; + // return obj; + // } + it(`service name should be mandatory : serviceEcompNaming = false`, function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/basicService.json').then((res) => { + jsonBuilderAAIService.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services/4d71990b-d8ad-4510-ac61-496288d9078e', + 200, + 0, + SERVICE_ID + ' - service', + changeServiceEcompNamingToFalse); + + checkServiceNameInputIdMandatory(); + }); + }); + + it(`service name should be mandatory : serviceEcompNaming = true`, function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/basicService.json').then((res) => { + jsonBuilderAAIService.basicJson(res, + Cypress.config('baseUrl') + '/rest/models/services/4d71990b-d8ad-4510-ac61-496288d9078e', + 200, + 0, + SERVICE_ID + ' - service', + changeServiceEcompNamingToTrue); + checkServiceNameInputIdMandatory(); + }); + }); + + function changeServiceEcompNamingToTrue(obj : ServiceModel){ + obj.service.serviceEcompNaming = "true"; + return obj; + } + + function changeServiceEcompNamingToFalse(obj : ServiceModel){ + obj.service.serviceEcompNaming = "false"; + return obj; + } + + function checkServiceNameInputIdMandatory(){ + cy.get('span').contains('Browse ASDC Service Models').click({force: true}) + .getElementByDataTestsId('deploy-' + SERVICE_ID).click({force: true}) + .wait(1000).getElementByDataTestsId(CONFIRM_BUTTON).click({force: true}) + .get('.error').contains(INSTANCE_NAME_MANDATORY_MESSAGE) + .typeToInput('instanceName', 'testService'); + + cy.getElementByDataTestsId(CONFIRM_BUTTON).click({force: true}) + .get('.error').contains(INSTANCE_NAME_NOT_MANDATORY_MESSAGE); + } + }); +}); diff --git a/vid-webpack-master/cypress/integration/iFrames/auditInfo.modal.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/auditInfo.modal.e2e.ts new file mode 100644 index 000000000..c915d48e9 --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/auditInfo.modal.e2e.ts @@ -0,0 +1,37 @@ +/// +import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder'; +import { AsyncInstantiationModel } from '../../support/jsonBuilders/models/asyncInstantiation.model'; + +describe('Audit information modal', function () { + describe('basic UI tests', () => { + var jsonBuilderInstantiationBuilder : JsonBuilder = new JsonBuilder(); + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + jsonBuilderInstantiationBuilder.basicMock('/cypress/support/jsonBuilders/mocks/jsons/asyncInstantiation.json', + Cypress.config('baseUrl') + "/asyncInstantiation**"); + cy.initAAIMock(); + cy.initVidMock(); + cy.login(); + }) + }); + + it(`should display 2 tables with information's`, function () { + + cy.openIframe('app/ui/#/instantiationStatus'); + cy.get('.instantiation-status-data tbody tr').each(function (row, index) { + cy.get('.icon-menu').eq(index).click() + .get('.audit-icon').click() + .get('#service-model-name').should('contain', row.find('#serviceModelName').text().trim()) + .getElementByDataTestsId('model-item-value-userId').should('contain', row.find('#userId').text().trim()) + .get('#service-instantiation-audit-info-vid').should('be.visible') + .get('#service-instantiation-audit-info-vid').find('#vidJobStatus').should('be.visible') + .get('#service-instantiation-audit-info-mso').should('be.visible') + .get('#service-instantiation-audit-info-mso').find('#msoJobStatus').should('be.visible') + .get('#cancelButton').click(); + }); + }); + }); +}); diff --git a/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts new file mode 100644 index 000000000..2f98ba864 --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/drawingBoard.e2e.ts @@ -0,0 +1,130 @@ +/// +describe('Drawing board', function () { + describe('basic UI tests', () => { + + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + cy.login(); + }); + }); + + + it('should display service model name', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => { + cy.setReduxState(res); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + cy.get('#service-model-name').contains('action-data'); + }); + }); + + it('should display icon and message if no vnf and vnfModules', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => { + cy.setReduxState(res); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + + cy.get('#not-node-img-id').and('be.visible'); + }); + }); + + it('should show alert on remove vnf with modules', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/serviceWithVnfAndVfModules.json').then((res) => { + cy.setReduxState(res); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_ADIOD-vPE 0-menu-btn') + .click({force: true}); + // assert vfModules are enabled + cy.get('.tree-node-disabled div[data-tests-id="node-2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1"]') + .should('not.be.visible'); + cy.get('.icon-trash').click(); + cy.get('.title').contains('Remove VNF'); + cy.get('.sdc-button').contains('Remove VNF').click(); + // assert vfModules are disabled after remove parent vnf + cy.get('.tree-node-disabled div[data-tests-id="node-2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1"]') + .should('be.visible'); + }); + }); + + it('should not show alert on remove vnf without modules', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/serviceWithVnfAndVfModules.json').then((res) => { + cy.setReduxState(res); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + cy.getElementByDataTestsId('node-0903e1c0-8e03-4936-b5c2-260653b96413-2017-388_ADIOD-vPE 1-menu-btn') + .click({force: true}); + cy.get('.icon-trash').click(); + }); + }); + + it('should show if ecomp is true', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => { + cy.setReduxState(res); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + cy.getElementByDataTestsId('node-2017-488_ADIOD-vPE 0-add-btn').click({force: true}); + + cy.selectDropdownOptionByText('productFamily', 'DHV'); + cy.selectDropdownOptionByText('lcpRegion', 'mtn6'); + cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-testgamma'); + cy.selectDropdownOptionByText('lineOfBusiness', 'ECOMP'); + cy.selectDropdownOptionByText('platform', 'platform'); + + cy.getElementByDataTestsId('vnf-form-set').click({force: true}); + + cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_ADIOD-vPE 0').contains(''); + }); + }); + + it('should show model nameif ecomp is false', function () { + const vnfModelName: string = '2017-488_ADIOD-vPE 0'; + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => { + res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].vnfs[vnfModelName].properties.ecomp_generated_naming = 'false'; + cy.setReduxState(res); + cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + cy.getElementByDataTestsId('node-2017-488_ADIOD-vPE 0-add-btn').click({force: true}); + + cy.selectDropdownOptionByText('productFamily', 'DHV'); + cy.selectDropdownOptionByText('lcpRegion', 'mtn6'); + cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-testgamma'); + cy.selectDropdownOptionByText('lineOfBusiness', 'ECOMP'); + cy.selectDropdownOptionByText('platform', 'platform'); + + cy.getElementByDataTestsId('vnf-form-set').click({force: true}); + + cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_ADIOD-vPE 0').contains(vnfModelName); + }); + }); + + // describe('add instance open a popup', () => { + // + // it('shouldn add vfModule without popup with no empty required fields', function () { + // cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/serviceWithVnfAndVfModules.json').then((res) => { + // res.service.serviceInstance["2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"].vnfs["2017-488_ADIOD-vPE 0"].vfModules = []; + // cy.setReduxState(res); + // cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + // cy.get('available-models-tree tree-node-expander').eq(2).click(); + // cy.getElementByDataTestsId('node-2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1-add-btn').click(); + // cy.get('drawing-board-tree .toggle-children').click(); + // cy.getElementByDataTestsId('node-25284168-24bb-4698-8cb4-3f509146eca5-2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1') + // .and('be.visible'); + // }); + // }); + // + // it('should add vfModule with popup if empty required dynamic input', function () { + // cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/serviceWithVnfAndVfModules.json').then((res) => { + // res.service.serviceHierarchy["2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"].vnfs["2017-488_ADIOD-vPE 0"].vfModules["2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1"].inputs["adiodvpe0_bandwidth"].default = ''; + // res.service.serviceInstance["2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd"].vnfs["2017-488_ADIOD-vPE 0"].vfModules = []; + // cy.setReduxState(res); + // cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'); + // cy.get('available-models-tree tree-node-expander').eq(2).click(); + // cy.getElementByDataTestsId('node-2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1-add-btn').click(); + // cy.get('#instance-popup').and('be.visible'); + // }); + // + // }); + // + // }); + }); +}); diff --git a/vid-webpack-master/cypress/integration/iFrames/instantiationStatus.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/instantiationStatus.e2e.ts new file mode 100644 index 000000000..be1b2ac7d --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/instantiationStatus.e2e.ts @@ -0,0 +1,50 @@ +/// +/// + +import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder'; +import { AsyncInstantiationModel } from '../../support/jsonBuilders/models/asyncInstantiation.model'; + +describe('Instantiation status page', function () { + var jsonBuilderInstantiationBuilder : JsonBuilder = new JsonBuilder(); + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + jsonBuilderInstantiationBuilder.basicMock('/cypress/support/jsonBuilders/mocks/jsons/asyncInstantiation.json', + Cypress.config('baseUrl') + "/asyncInstantiation**"); + cy.login(); + }) + }); + + it('should disaplay the correct icons per status', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/asyncInstantiation.json').then((res) => { + cy.openIframe('app/ui/#/instantiationStatus'); + for(let i = 0 ; i < res.length; i++){ + if(res[i].project){ + cy.getTableRowByIndex('instantiation-status', i).get('td#project span').contains(res[i].project); + } + if(res[i].userId){ + cy.getTableRowByIndex('instantiation-status', i).get('td#userId span').contains(res[i].userId); + } + if(res[i].tenantName){ + cy.getTableRowByIndex('instantiation-status', i).get('td#tenantName span').contains(res[i].tenantName); + } + if(res[i].serviceModelName){ + cy.getTableRowByIndex('instantiation-status', i).get('td#serviceModelName span').contains(res[i].serviceModelName); + } + if(res[i].serviceInstanceName){ + cy.getTableRowByIndex('instantiation-status', i).get('td#serviceInstanceName span').contains(res[i].serviceInstanceName); + } + if(res[i].serviceModelVersion){ + cy.getTableRowByIndex('instantiation-status', i).get('td#serviceModelVersion span').contains(res[i].serviceModelVersion); + } + if(res[i].subscriberName){ + cy.getTableRowByIndex('instantiation-status', i).get('td#subscriberName span').contains(res[i].subscriberName); + } + } + }); + }); +}); diff --git a/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts new file mode 100644 index 000000000..9d1fbfdf0 --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/service.popup.e2e.ts @@ -0,0 +1,57 @@ +/// +describe('Service popup', function () { + describe('basic UI tests', () => { + + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + cy.login(); + }) + }); + + it('should contains basic selects with required astrix', function () { + cy.openIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true'); + cy.isElementContainsAttr('service-form-set', 'disabled'); + cy.get('label').contains('Subscriber name:').should('have.class', 'required') + .get('label').contains('Service type:').should('have.class', 'required') + .get('label').contains('LCP region:').should('have.class', 'required') + .get('label').contains('Tenant:').should('have.class', 'required') + .get('label').contains('Owning entity:').should('have.class', 'required') + .get('label').contains('Product family:').should('have.class', 'required') + .get('label').contains('AIC Zone:').should('not.have.class', 'required') + .get('label').contains('Project').should('not.have.class', 'required') + .get('label').contains('Rollback On Failure').should('have.class', 'required'); + }); + + it('should be able fill all selects', function () { + cy.openIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true'); + + cy.selectDropdownOptionByText('subscriberName', 'USP VOICE'); + cy.selectDropdownOptionByText('serviceType', 'VIRTUAL USP'); + cy.selectDropdownOptionByText('productFamily', 'VIRTUAL USP'); + cy.selectDropdownOptionByText('lcpRegion', 'mtn6'); + cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-testgamma'); + cy.selectDropdownOptionByText('aic_zone', 'NFTJSSSS-NFT1'); + cy.selectDropdownOptionByText('project', 'DFW'); + cy.selectDropdownOptionByText('owningEntity', 'aaa1'); + cy.selectDropdownOptionByText('rollback', 'Rollback'); + + }); + + it('should display error when api return empty data', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/categoryParametres.json').then((res)=>{ + res.categoryParameters.owningEntity = []; + cy.initCategoryParameter(res); + + cy.openIframe('/app/ui/#/servicePopup?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd&isCreate=true'); + + cy.get('.message').contains('No results for this request. Please change criteria.'); + cy.get('form-general-error').contains('Page contains errors. Please see details next to the relevant fields.'); + }); + }); + }); +}); diff --git a/vid-webpack-master/cypress/integration/iFrames/tenantIsolation.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/tenantIsolation.e2e.ts new file mode 100644 index 000000000..7b848ba5b --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/tenantIsolation.e2e.ts @@ -0,0 +1,18 @@ +/// / + +describe('Tenant isolation - Test Environments Page', function () { + describe('New Test Environment popup', () => { + + beforeEach(() => { + cy.login(); + }); + + it(`verifying proper text for the "Tenant Context" label; instead of "Select VSP"`, function () { + + cy.visit('/app/vid/scripts/modals/new-test-environment/new-test-environment.html'); + cy.get('label[for=tenantContext]').contains('Tenant Context'); + }); + }); + }); + + diff --git a/vid-webpack-master/cypress/integration/iFrames/viewEdit.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/viewEdit.e2e.ts new file mode 100644 index 000000000..e589b1e73 --- /dev/null +++ b/vid-webpack-master/cypress/integration/iFrames/viewEdit.e2e.ts @@ -0,0 +1,424 @@ +/// / +import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder'; +import { PnfModel } from '../../support/jsonBuilders/models/pnf.model'; +import { ServiceModel } from '../../support/jsonBuilders/models/service.model'; +import { AaiServiceInstancesModel } from '../../support/jsonBuilders/models/serviceInstances.model'; +import { AAISubDetailsModel } from '../../support/jsonBuilders/models/aaiSubDetails.model'; +import { AAISubViewEditModel } from '../../support/jsonBuilders/models/aaiSubViewEdit.model'; + +describe('View Edit Page', function () { + describe('basic UI tests', () => { + var jsonBuilderAAIService : JsonBuilder = new JsonBuilder(); + + + var jsonBuilderAAISubViewEditModel: JsonBuilder = new JsonBuilder(); + var jsonBuilderAAISubDetailsModel: JsonBuilder = new JsonBuilder(); + var jsonBuilderPNF: JsonBuilder = new JsonBuilder(); + var jsonBuilderAaiServiceInstances: JsonBuilder = new JsonBuilder(); + var jsonBuilderEmpty: JsonBuilder = new JsonBuilder(); + beforeEach(() => { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/basicService.json').then((res) => { + jsonBuilderAAIService.basicJson( + res, + Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d674c44", + 200, 0, + "service-complexService", + changeServiceModel) + }); + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/aaiSubViewEditForComplexService.json').then((res) => { + jsonBuilderAAISubViewEditModel.basicJson( + res, + Cypress.config('baseUrl') + "/aai_sub_viewedit/**", + 200, + 0, + "aai-sub-view-edit") + }); + + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/aaiSubDetails.json').then((res) => { + jsonBuilderAAISubDetailsModel.basicJson( + res, + Cypress.config('baseUrl') + "/aai_sub_details/**", + 200, + 0, + "aai-sub-details") + }); + + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/aaiServiceInstancePnfs.json').then((res) => { + jsonBuilderPNF.basicJson( + res, + Cypress.config('baseUrl') + "/aai_get_service_instance_pnfs/**", + 200, + 0, + "aai-get-service-instance-pnfs") + }); + + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/aaiServiceInstances.json').then((res) => { + jsonBuilderAaiServiceInstances.basicJson( + res, + Cypress.config('baseUrl') + "/search_service_instances**", + 200, + 0, + "aai-get-service-instances") + }); + + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyObjectResponse.json').then((res) => { + jsonBuilderEmpty.basicJson( + res, + Cypress.config('baseUrl') + "/aai_getPortMirroringConfigsData**", + 200, + 0, + "aai_getPortMirroringConfigsDate - empty response") + }); + + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyObjectResponse.json').then((res) => { + jsonBuilderEmpty.basicJson( + res, + Cypress.config('baseUrl') + "/aai_getPortMirroringSourcePorts**", + 200, + 0, + "aai_getPortMirroringSourcePorts - empty response") + }); + + cy.login(); + }); + + + it(`should display service model name and version on each info form`, function () { + let typesToIncludeModel:Array = ['service', 'vnf', 'vfmodule', 'volume-group', 'network']; + cy.visit('/serviceModels.htm#/instantiate?subscriberId=e433710f-9217-458d-a79d-1c7aff376d89&subscriberName=USP%20VOICE&serviceType=VIRTUAL%20USP&serviceInstanceId=3f93c7cb-2fd0-4557-9514-e189b7b04f9d&aaiModelVersionId=6e59c5de-f052-46fa-aa7e-2fca9d674c44&isPermitted=true'); + cy.wait('@service-complexService'); + typesToIncludeModel.forEach((type) => { + cy.get('.' + type + '-info').click({force: true}); + cy.getElementByDataTestsId("Model Version").contains('1.0'); + cy.getElementByDataTestsId("Model Name").contains('vidmacrofalsenaming'); + cy.getElementByDataTestsId("detailsCloseBtn").click(); + }); + }); + }); + + function changeServiceModel(serviceModel: ServiceModel) { + serviceModel.service.uuid = "6e59c5de-f052-46fa-aa7e-2fca9d674c44"; + serviceModel.vnfs = { + "VF_vMee 0": { + "uuid": "d6557200-ecf2-4641-8094-5393ae3aae60", + "invariantUuid": "4160458e-f648-4b30-a176-43881ffffe9e", + "description": "VSP_vMee", + "name": "VF_vMee", + "version": "2.0", + "customizationUuid": "91415b44-753d-494c-926a-456a9172bbb9", + "inputs": {}, + "commands": {}, + "properties": { + "gpb2_Internal2_mac": "00:80:37:0E:02:22", + "sctp-b-ipv6-egress_src_start_port": "0", + "sctp-a-ipv6-egress_rule_application": "any", + "Internal2_allow_transit": "true", + "sctp-b-IPv6_ethertype": "IPv6", + "sctp-a-egress_rule_application": "any", + "sctp-b-ingress_action": "pass", + "sctp-b-ingress_rule_protocol": "icmp", + "ncb2_Internal1_mac": "00:80:37:0E:0F:12", + "sctp-b-ipv6-ingress-src_start_port": "0.0", + "ncb1_Internal2_mac": "00:80:37:0E:09:12", + "fsb_volume_size_0": "320.0", + "sctp-b-egress_src_addresses": "local", + "sctp-a-ipv6-ingress_ethertype": "IPv4", + "sctp-a-ipv6-ingress-dst_start_port": "0", + "sctp-b-ipv6-ingress_rule_application": "any", + "domain_name": "default-domain", + "sctp-a-ingress_rule_protocol": "icmp", + "sctp-b-egress-src_start_port": "0.0", + "sctp-a-egress_src_addresses": "local", + "sctp-b-display_name": "epc-sctp-b-ipv4v6-sec-group", + "sctp-a-egress-src_start_port": "0.0", + "sctp-a-ingress_ethertype": "IPv4", + "sctp-b-ipv6-ingress-dst_end_port": "65535", + "sctp-b-dst_subnet_prefix_v6": "::", + "nf_naming": "{ecomp_generated_naming=true}", + "sctp-a-ipv6-ingress_src_subnet_prefix": "0.0.0.0", + "sctp-b-egress-dst_start_port": "0.0", + "ncb_flavor_name": "nv.c20r64d1", + "gpb1_Internal1_mac": "00:80:37:0E:01:22", + "sctp-b-egress_dst_subnet_prefix_len": "0.0", + "Internal2_net_cidr": "169.255.0.0", + "sctp-a-ingress-dst_start_port": "0.0", + "sctp-a-egress-dst_start_port": "0.0", + "fsb1_Internal2_mac": "00:80:37:0E:0B:12", + "sctp-a-egress_ethertype": "IPv4", + "vlc_st_service_mode": "in-network-nat", + "sctp-a-ipv6-egress_ethertype": "IPv4", + "sctp-a-egress-src_end_port": "65535.0", + "sctp-b-ipv6-egress_rule_application": "any", + "sctp-b-egress_action": "pass", + "sctp-a-ingress-src_subnet_prefix_len": "0.0", + "sctp-b-ipv6-ingress-src_end_port": "65535.0", + "sctp-b-name": "epc-sctp-b-ipv4v6-sec-group", + "fsb2_Internal1_mac": "00:80:37:0E:0D:12", + "sctp-a-ipv6-ingress-src_start_port": "0.0", + "sctp-b-ipv6-egress_ethertype": "IPv4", + "Internal1_net_cidr": "169.253.0.0", + "sctp-a-egress_dst_subnet_prefix": "0.0.0.0", + "fsb_flavor_name": "nv.c20r64d1", + "sctp_rule_protocol": "132", + "sctp-b-ipv6-ingress_src_subnet_prefix_len": "0", + "sctp-a-ipv6-ingress_rule_application": "any", + "ecomp_generated_naming": "true", + "sctp-a-IPv6_ethertype": "IPv6", + "vlc2_Internal1_mac": "00:80:37:0E:02:12", + "vlc_st_virtualization_type": "virtual-machine", + "sctp-b-ingress-dst_start_port": "0.0", + "sctp-b-ingress-dst_end_port": "65535.0", + "sctp-a-ipv6-ingress-src_end_port": "65535.0", + "sctp-a-display_name": "epc-sctp-a-ipv4v6-sec-group", + "sctp-b-ingress_rule_application": "any", + "int2_sec_group_name": "int2-sec-group", + "vlc_flavor_name": "nd.c16r64d1", + "sctp-b-ipv6-egress_src_addresses": "local", + "vlc_st_interface_type_int1": "other1", + "sctp-b-egress-src_end_port": "65535.0", + "sctp-a-ipv6-egress-dst_start_port": "0", + "vlc_st_interface_type_int2": "other2", + "sctp-a-ipv6-egress_rule_protocol": "any", + "Internal2_shared": "false", + "sctp-a-ipv6-egress_dst_subnet_prefix_len": "0", + "Internal2_rpf": "disable", + "vlc1_Internal1_mac": "00:80:37:0E:01:12", + "sctp-b-ipv6-egress_src_end_port": "65535", + "sctp-a-ipv6-egress_src_addresses": "local", + "sctp-a-ingress-dst_end_port": "65535.0", + "sctp-a-ipv6-egress_src_end_port": "65535", + "Internal1_forwarding_mode": "l2", + "Internal2_dhcp": "false", + "sctp-a-dst_subnet_prefix_v6": "::", + "pxe_image_name": "MME_PXE-Boot_16ACP04_GA.qcow2", + "vlc_st_interface_type_gtp": "other0", + "ncb1_Internal1_mac": "00:80:37:0E:09:12", + "sctp-b-src_subnet_prefix_v6": "::", + "sctp-a-egress_dst_subnet_prefix_len": "0.0", + "int1_sec_group_name": "int1-sec-group", + "Internal1_dhcp": "false", + "sctp-a-ipv6-egress_dst_end_port": "65535", + "Internal2_forwarding_mode": "l2", + "fsb2_Internal2_mac": "00:80:37:0E:0D:12", + "sctp-b-egress_dst_subnet_prefix": "0.0.0.0", + "Internal1_net_cidr_len": "17", + "gpb2_Internal1_mac": "00:80:37:0E:02:22", + "sctp-b-ingress-src_subnet_prefix_len": "0.0", + "sctp-a-ingress_dst_addresses": "local", + "sctp-a-egress_action": "pass", + "fsb_volume_type_0": "SF-Default-SSD", + "ncb2_Internal2_mac": "00:80:37:0E:0F:12", + "vlc_st_interface_type_sctp_a": "left", + "vlc_st_interface_type_sctp_b": "right", + "sctp-a-src_subnet_prefix_v6": "::", + "vlc_st_version": "2", + "sctp-b-egress_ethertype": "IPv4", + "sctp-a-ingress_rule_application": "any", + "gpb1_Internal2_mac": "00:80:37:0E:01:22", + "instance_ip_family_v6": "v6", + "sctp-a-ipv6-egress_src_start_port": "0", + "sctp-b-ingress-src_start_port": "0.0", + "sctp-b-ingress_dst_addresses": "local", + "fsb1_Internal1_mac": "00:80:37:0E:0B:12", + "vlc_st_interface_type_oam": "management", + "multi_stage_design": "false", + "oam_sec_group_name": "oam-sec-group", + "Internal2_net_gateway": "169.255.0.3", + "sctp-a-ipv6-ingress-dst_end_port": "65535", + "sctp-b-ipv6-egress-dst_start_port": "0", + "Internal1_net_gateway": "169.253.0.3", + "sctp-b-ipv6-egress_rule_protocol": "any", + "gtp_sec_group_name": "gtp-sec-group", + "sctp-a-ipv6-egress_dst_subnet_prefix": "0.0.0.0", + "sctp-b-ipv6-egress_dst_subnet_prefix_len": "0", + "sctp-a-ipv6-ingress_dst_addresses": "local", + "sctp-a-egress_rule_protocol": "icmp", + "sctp-b-ipv6-egress_action": "pass", + "sctp-a-ipv6-egress_action": "pass", + "Internal1_shared": "false", + "sctp-b-ipv6-ingress_rule_protocol": "any", + "Internal2_net_cidr_len": "17", + "sctp-a-name": "epc-sctp-a-ipv4v6-sec-group", + "sctp-a-ingress-src_end_port": "65535.0", + "sctp-b-ipv6-ingress_src_subnet_prefix": "0.0.0.0", + "sctp-a-egress-dst_end_port": "65535.0", + "sctp-a-ingress_action": "pass", + "sctp-b-egress_rule_protocol": "icmp", + "sctp-b-ipv6-ingress_action": "pass", + "vlc_st_service_type": "firewall", + "sctp-b-ipv6-egress_dst_end_port": "65535", + "sctp-b-ipv6-ingress-dst_start_port": "0", + "vlc2_Internal2_mac": "00:80:37:0E:02:12", + "vlc_st_availability_zone": "true", + "fsb_volume_image_name_1": "MME_FSB2_16ACP04_GA.qcow2", + "sctp-b-ingress-src_subnet_prefix": "0.0.0.0", + "sctp-a-ipv6-ingress_src_subnet_prefix_len": "0", + "Internal1_allow_transit": "true", + "gpb_flavor_name": "nv.c20r64d1", + "availability_zone_max_count": "1", + "fsb_volume_image_name_0": "MME_FSB1_16ACP04_GA.qcow2", + "sctp-b-ipv6-ingress_dst_addresses": "local", + "sctp-b-ipv6-egress_dst_subnet_prefix": "0.0.0.0", + "sctp-b-ipv6-ingress_ethertype": "IPv4", + "vlc1_Internal2_mac": "00:80:37:0E:01:12", + "sctp-a-ingress-src_subnet_prefix": "0.0.0.0", + "sctp-a-ipv6-ingress_action": "pass", + "Internal1_rpf": "disable", + "sctp-b-ingress_ethertype": "IPv4", + "sctp-b-egress_rule_application": "any", + "sctp-b-ingress-src_end_port": "65535.0", + "sctp-a-ipv6-ingress_rule_protocol": "any", + "sctp-a-ingress-src_start_port": "0.0", + "sctp-b-egress-dst_end_port": "65535.0" + }, + "type": "VF", + "modelCustomizationName": "VF_vMee 0", + "vfModules": { + "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", + "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", + "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", + "description": null, + "name": "VfVmee..vmme_vlc..module-1", + "version": "2", + "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vmme_vlc" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "uuid": "41708296-e443-4c71-953f-d9a010f059e1", + "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", + "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", + "description": null, + "name": "VfVmee..vmme_gpb..module-2", + "version": "2", + "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vmme_gpb" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "vf_vmee0..VfVmee..base_vmme..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVmee..base_vmme..module-0", + "version": "2", + "modelCustomizationName": "VfVmee..base_vmme..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vmme" + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }, + "volumeGroups": { + "vf_vmee0..VfVmee..base_vmme..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVmee..base_vmme..module-0", + "version": "2", + "modelCustomizationName": "VfVmee..base_vmme..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vmme" + }, + "inputs": {} + } + }, + "vfcInstanceGroups": {} + } + }; + serviceModel.vfModules = { + "vf_vmee0..VfVmee..vmme_vlc..module-1": { + "uuid": "522159d5-d6e0-4c2a-aa44-5a542a12a830", + "invariantUuid": "98a7c88b-b577-476a-90e4-e25a5871e02b", + "customizationUuid": "55b1be94-671a-403e-a26c-667e9c47d091", + "description": null, + "name": "VfVmee..vmme_vlc..module-1", + "version": "2", + "modelCustomizationName": "VfVmee..vmme_vlc..module-1", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vmme_vlc" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "vf_vmee0..VfVmee..vmme_gpb..module-2": { + "uuid": "41708296-e443-4c71-953f-d9a010f059e1", + "invariantUuid": "1cca90b8-3490-495e-87da-3f3e4c57d5b9", + "customizationUuid": "6add59e0-7fe1-4bc4-af48-f8812422ae7c", + "description": null, + "name": "VfVmee..vmme_gpb..module-2", + "version": "2", + "modelCustomizationName": "VfVmee..vmme_gpb..module-2", + "properties": { + "minCountInstances": 0, + "maxCountInstances": null, + "initialCount": 0, + "vfModuleLabel": "vmme_gpb" + }, + "inputs": {}, + "volumeGroupAllowed": false + }, + "vf_vmee0..VfVmee..base_vmme..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVmee..base_vmme..module-0", + "version": "2", + "modelCustomizationName": "VfVmee..base_vmme..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vmme" + }, + "inputs": {}, + "volumeGroupAllowed": true + } + }; + serviceModel.volumeGroups = { + "vf_vmee0..VfVmee..base_vmme..module-0": { + "uuid": "a27f5cfc-7f12-4f99-af08-0af9c3885c87", + "invariantUuid": "a6f9e51a-2b35-416a-ae15-15e58d61f36d", + "customizationUuid": "f8c040f1-7e51-4a11-aca8-acf256cfd861", + "description": null, + "name": "VfVmee..base_vmme..module-0", + "version": "2", + "modelCustomizationName": "VfVmee..base_vmme..module-0", + "properties": { + "minCountInstances": 1, + "maxCountInstances": 1, + "initialCount": 1, + "vfModuleLabel": "base_vmme" + }, + "inputs": {} + } + }; + return serviceModel; + } +}); + diff --git a/vid-webpack-master/cypress/integration/shared/error.message.popup.e2e.ts b/vid-webpack-master/cypress/integration/shared/error.message.popup.e2e.ts new file mode 100644 index 000000000..8e78067e1 --- /dev/null +++ b/vid-webpack-master/cypress/integration/shared/error.message.popup.e2e.ts @@ -0,0 +1,33 @@ +/// +/// + +import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder'; +import { AsyncInstantiationModel } from '../../support/jsonBuilders/models/asyncInstantiation.model'; + +describe('Error message popup', function () { + describe('show error on status 500', () => { + var jsonBuilderInstantiationBuilder : JsonBuilder = new JsonBuilder(); + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + cy.login(); + }) + }); + + it('spinner should display after api call', function () { + // adding call with delay of 2000 sec + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/asyncInstantiation.json').then((res) => { + jsonBuilderInstantiationBuilder.basicJson(res, Cypress.config('baseUrl') + "/asyncInstantiation**", 500,0, "error 500 asyncInstantiation"); + + cy.openIframe('app/ui/#/instantiationStatus'); + cy.get('div.title') + .contains('Server not available'); + + }); + }); + }); +}); diff --git a/vid-webpack-master/cypress/integration/shared/spinner.e2e.ts b/vid-webpack-master/cypress/integration/shared/spinner.e2e.ts new file mode 100644 index 000000000..35f386fd5 --- /dev/null +++ b/vid-webpack-master/cypress/integration/shared/spinner.e2e.ts @@ -0,0 +1,36 @@ +/// +/// +import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder'; +import { AsyncInstantiationModel } from '../../support/jsonBuilders/models/asyncInstantiation.model'; + +describe('Spinner', function () { + describe('spinner', () => { + var jsonBuilderInstantiationBuilder : JsonBuilder = new JsonBuilder(); + beforeEach(() => { + cy.window().then((win) => { + win.sessionStorage.clear(); + cy.setReduxState(); + cy.preventErrorsOnLoading(); + cy.initAAIMock(); + cy.initVidMock(); + cy.login(); + }) + }); + + it('spinner should display after api call', function () { + cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/asyncInstantiation.json').then((res) => { + + jsonBuilderInstantiationBuilder.basicJson(res, + Cypress.config('baseUrl') + "/asyncInstantiation**", + 200, + 2000, + "error 500 asyncInstantiation"); + cy.openIframe('app/ui/#/instantiationStatus'); + + cy.get('.spinner') + .and('be.visible'); + + }); + }); + }); +}); -- cgit 1.2.3-korg