summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts
diff options
context:
space:
mode:
Diffstat (limited to 'vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts')
-rw-r--r--vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts262
1 files changed, 235 insertions, 27 deletions
diff --git a/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts b/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts
index 22eb88ca7..048836e52 100644
--- a/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts
+++ b/vid-webpack-master/cypress/integration/iFrames/ala-carte.e2e.ts
@@ -1,11 +1,12 @@
///<reference path="../../../node_modules/cypress/types/index.d.ts"/>
/// <reference types="Cypress" />
-import { JsonBuilder } from '../../support/jsonBuilders/jsonBuilder';
-import { ServiceModel } from '../../support/jsonBuilders/models/service.model';
+import {JsonBuilder} from '../../support/jsonBuilders/jsonBuilder';
+import {ServiceModel} from '../../support/jsonBuilders/models/service.model';
+import * as _ from 'lodash';
describe('A la carte', function () {
describe('check service name', () => {
- var jsonBuilderAAIService : JsonBuilder<ServiceModel> = new JsonBuilder<ServiceModel>();
+ let jsonBuilderAAIService: JsonBuilder<ServiceModel> = new JsonBuilder<ServiceModel>();
beforeEach(() => {
@@ -21,52 +22,235 @@ describe('A la carte', function () {
});
});
+ afterEach(() => {
+ cy.screenshot();
+ });
+
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';
+ 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 () {
+ it(`service name should be mandatory : serviceEcompNaming = true`, ()=> {
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);
+ changeServiceEcompNamingToTrue);
+ checkServiceNameInputIdMandatory();
+ });
+ });
+
+ it(`Service a-la-carte`, ()=> {
+
+ const subscriptionServiceType : string = "TYLER SILVIA";
+ const owningEntityName : string = "WayneHolland";
+ const rollbackOnFailure : string = "true";
+ const projectName : string = "WATKINS";
+ const instanceName : string = "serviceInstanceName";
+ cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => {
+
+ cy.setTestApiParamToGR();
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.instantiationType = 'A-La-Carte';
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.inputs = null;
+ cy.setReduxState(<any>res);
+ cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
+
+ cy.getElementByDataTestsId("openMenuBtn").click({force: true})
+ .getElementByDataTestsId("context-menu-header-edit-item").click({force: true})
+ .getElementByDataTestsId("instanceName")
+ .getElementByDataTestsId("subscriberName")
+ .getElementByDataTestsId("serviceType")
+ .getElementByDataTestsId("owningEntity")
+ .getElementByDataTestsId("project")
+ .getElementByDataTestsId("rollback");
+
+ cy.selectDropdownOptionByText("subscriberName", "SILVIA ROBBINS");
+ cy.selectDropdownOptionByText("serviceType", subscriptionServiceType);
+ cy.selectDropdownOptionByText("owningEntity", owningEntityName);
+ cy.selectDropdownOptionByText("rollback", rollbackOnFailure);
+ cy.selectDropdownOptionByText("project", projectName);
+ cy.typeToInput("instanceName", instanceName);
+
+ cy.get('#quantity-select').should('have.attr', 'disabled');
+ cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
+ cy.getReduxState().then((state) => {
+ const service = state.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'];
- checkServiceNameInputIdMandatory();
+ cy.readFile('../vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json').then((file) => {
+ expect(service.subscriptionServiceType).to.equals(subscriptionServiceType);
+ expect(service.owningEntityName).to.equals(owningEntityName);
+ expect(service.rollbackOnFailure).to.equals(rollbackOnFailure);
+ expect(service.projectName).to.equals(projectName);
+ expect(service.instanceName).to.equals(instanceName);
+ });
+ });
+ });
});
});
- 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();
+
+ it(`VNF a-la-carte`, ()=> {
+ cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => {
+ cy.setTestApiParamToGR();
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.instantiationType = 'A-La-Carte';
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.inputs = null;
+ cy.setReduxState(<any>res);
+ cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
+
+ cy.getElementByDataTestsId("openMenuBtn").click({force: true})
+ .getElementByDataTestsId("context-menu-header-edit-item").click({force: true})
+ .getElementByDataTestsId("instanceName")
+ .getElementByDataTestsId("subscriberName")
+ .getElementByDataTestsId("serviceType")
+ .getElementByDataTestsId("owningEntity")
+ .getElementByDataTestsId("project")
+ .getElementByDataTestsId("rollback");
+
+ cy.selectDropdownOptionByText("subscriberName", "SILVIA ROBBINS");
+ cy.selectDropdownOptionByText("serviceType", "TYLER SILVIA");
+ cy.selectDropdownOptionByText("owningEntity", "WayneHolland");
+ cy.selectDropdownOptionByText("rollback", "true");
+ cy.selectDropdownOptionByText("project", "WATKINS");
+ cy.typeToInput("instanceName", "serviceInstanceName");
+
+ cy.get('#quantity-select').should('have.attr', 'disabled');
+ cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
+ cy.getElementByDataTestsId('node-2017-488_ADIOD-vPE 0-add-btn').click({force: true}).then(() => {
+ cy.selectDropdownOptionByText('productFamily', 'Emanuel');
+ cy.selectDropdownOptionByText('lcpRegion', 'JANET25');
+ cy.typeToInput("lcpRegionText", "just another region");
+ cy.selectDropdownOptionByText('tenant', 'USP-SIP-IC-24335-T-01');
+ cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1');
+ cy.selectDropdownOptionByText('platform', 'xxx1');
+ cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
+ cy.getReduxState().then((state) => {
+
+ const vnf = state.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].vnfs['2017-488_ADIOD-vPE 0'];
+
+ cy.readFile('../vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json').then((file) => {
+ file.vnfs['2017-488_ADIOD-vPE 0'].trackById = vnf.trackById;
+ file.vnfs['2017-488_ADIOD-vPE 0'].vfModules = {};
+ cy.deepCompare(vnf, file.vnfs['2017-488_ADIOD-vPE 0'])
+ });
+ });
+ });
+
+ });
+ });
});
});
- function changeServiceEcompNamingToTrue(obj : ServiceModel){
- obj.service.serviceEcompNaming = "true";
- return obj;
- }
+ it(`Network a-la-carte`, ()=> {
+ cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => {
+ cy.setTestApiParamToGR();
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.instantiationType = 'A-La-Carte';
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.inputs = null;
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].networks = {
+ "ExtVL 0": {
+ "uuid": "ddc3f20c-08b5-40fd-af72-c6d14636b986",
+ "invariantUuid": "379f816b-a7aa-422f-be30-17114ff50b7c",
+ "description": "ECOMP generic virtual link (network) base type for all other service-level and global networks",
+ "name": "ExtVL",
+ "version": "37.0",
+ "customizationUuid": "94fdd893-4a36-4d70-b16a-ec29c54c184f",
+ "inputs": {},
+ "commands": {},
+ "properties": {
+ "network_assignments": "{is_external_network=false, ipv4_subnet_default_assignment={min_subnets_count=1}, ecomp_generated_network_assignment=false, ipv6_subnet_default_assignment={min_subnets_count=1}}",
+ "ecomp_generated_naming": "false",
+ "exVL_naming": "{ecomp_generated_naming=true}",
+ "network_flows": "{is_network_policy=false, is_bound_to_vpn=false}",
+ "network_homing": "{ecomp_selected_instance_node_target=false}"
+ },
+ "type": "VL",
+ "modelCustomizationName": "ExtVL 0"
+ }
+ };
+ res.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].networks = {};
+ cy.setReduxState(<any>res);
+ cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
+ cy.getElementByDataTestsId("node-ExtVL 0-add-btn").click({force: true});
+ cy.selectDropdownOptionByText("platform", "xxx1");
+ cy.selectDropdownOptionByText("lcpRegion", "JANET25");
+ cy.selectDropdownOptionByText("tenant", "USP-SIP-IC-24335-T-01");
+ cy.selectDropdownOptionByText("productFamily", "SCOTTIE");
+ cy.selectDropdownOptionByText("lineOfBusiness", "zzz1");
+ cy.typeToInput("lcpRegionText", "lcpRegionText");
+
+ cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
+ cy.getReduxState().then((state) => {
+ const network = state.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].networks['ExtVL 0'];
+
+ cy.readFile('../vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json').then((file) => {
+ file.networks['ExtVL 0'].trackById = network.trackById;
+ cy.deepCompare(network, file.networks['ExtVL 0']);
+ });
+ });
+ });
+ });
+ });
+
+ it(`VFModule a-la-carte`, ()=> {
+ var timeBomb = new Date('12/09/2018');
+ if (new Date() < timeBomb) {
+ return;
+ }
+ cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/emptyServiceRedux.json').then((res) => {
+ cy.setTestApiParamToGR();
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.instantiationType = 'A-La-Carte';
+ res.service.serviceHierarchy['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].service.inputs = null;
+ cy.setReduxState(<any>res);
+ cy.openIframe('app/ui/#/servicePlanning?serviceModelId=2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd');
- function changeServiceEcompNamingToFalse(obj : ServiceModel){
- obj.service.serviceEcompNaming = "false";
+ cy.getElementByDataTestsId('node-2017-488_ADIOD-vPE 0-add-btn').click({force: true}).then(() => {
+ cy.selectDropdownOptionByText('productFamily', 'Emanuel');
+ cy.selectDropdownOptionByText('lcpRegion', 'hvf6');
+ cy.selectDropdownOptionByText('tenant', 'AIN Web Tool-15-D-STTest2');
+ cy.selectDropdownOptionByText('lineOfBusiness', 'zzz1');
+ cy.selectDropdownOptionByText('platform', 'xxx1');
+ cy.getElementByDataTestsId('form-set').click({force: true}).then(() => {
+ const vnfName = '2017-488_ADIOD-vPE 0';
+ let vfModulesNames: Array<string> = [
+ '2017488_adiodvpe0..2017488AdiodVpe..ADIOD_base_vPE_BV..module-0',
+ '2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vRE_BV..module-1',
+ '2017488_adiodvpe0..2017488AdiodVpe..ADIOD_vPFE_BV..module-2',
+ ];
+
+ addVfModule(vnfName, vfModulesNames[0], 'mimazepubi', 'hvf6', '', 'AINWebTool-15-D-iftach', false, false, false)
+ .then(() => {
+ addVfModule(vnfName, vfModulesNames[1], 'puwesovabe', 'JANET25', 'my region', 'USP-SIP-IC-24335-T-01', true, true, false)
+ .then(() => {
+ addVfModule(vnfName, vfModulesNames[2], 'bnmgtrx', 'hvf6', '', 'AINWebTool-15-D-iftach', false, false, true)
+ .then(() => {
+ cy.getReduxState().then((state) => {
+ const vfModules = state.service.serviceInstance['2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd'].vnfs[vnfName].vfModules;
+ cy.readFile('../vid-automation/src/test/resources/a-la-carte/redux-a-la-carte.json').then((file) => {
+ for (let vfModulesName of vfModulesNames) {
+ const vfModule = vfModules[vfModulesName];
+ let vfModuleObject = vfModule[Object.keys(vfModule)[0]];
+ cy.deepCompare(vfModuleObject, file.vnfs[vnfName].vfModules[vfModulesName][vfModulesName]);
+ }
+ });
+ });
+ });
+ });
+ });
+ });
+ });
+ });
+ });
+
+
+ function changeServiceEcompNamingToTrue(obj: ServiceModel) {
+ obj.service.serviceEcompNaming = "true";
return obj;
}
- function checkServiceNameInputIdMandatory(){
+ 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})
@@ -76,5 +260,29 @@ describe('A la carte', function () {
cy.getElementByDataTestsId(CONFIRM_BUTTON).click({force: true})
.get('.error').contains(INSTANCE_NAME_NOT_MANDATORY_MESSAGE);
}
+
+ function addVfModule(vnfName: string, vfModuleName: string, instanceName: string, lcpRegion: string, legacyRegion: string, tenant: string, rollback: boolean, sdncPreLoad: boolean, deleteVgName: boolean): Chainable<any> {
+ return cy.getElementByDataTestsId('node-' + vnfName).click({force: true}).then(() => {
+ cy.getElementByDataTestsId('node-' + vfModuleName + '-add-btn').click({force: true}).then(() => {
+ cy.getElementByDataTestsId('instanceName').clear().type(instanceName, {force: true}).then(() => {
+ if (deleteVgName) {
+ cy.getElementByDataTestsId('volumeGroupName').clear();
+ }
+ }).then(() => {
+ cy.selectDropdownOptionByText('lcpRegion', lcpRegion);
+ if (!_.isEmpty(legacyRegion)) {
+ cy.typeToInput("lcpRegionText", legacyRegion);
+ }
+ cy.selectDropdownOptionByText('tenant', tenant);
+ cy.selectDropdownOptionByText('rollback', String(rollback));
+ if (sdncPreLoad) {
+ cy.getElementByDataTestsId('sdncPreLoad').check();
+ }
+ cy.getElementByDataTestsId('form-set').click({force: true});
+ });
+ });
+ });
+ }
+
});
});