Split Upgrade VF Module tests from viewEdit
[vid.git] / vid-webpack-master / cypress / integration / iFrames / viewEdit.e2e.ts
1 ///<reference path="../../../node_modules/cypress/types/index.d.ts"/> / <reference types="Cypress" />
2 import {JsonBuilder} from '../../support/jsonBuilders/jsonBuilder';
3 import {PnfModel} from '../../support/jsonBuilders/models/pnf.model';
4 import {ServiceModel} from '../../support/jsonBuilders/models/service.model';
5 import {AaiServiceInstancesModel} from '../../support/jsonBuilders/models/serviceInstances.model';
6 import {AAISubViewEditModel} from '../../support/jsonBuilders/models/aaiSubViewEdit.model';
7
8
9 describe('View Edit Page', function () {
10   describe('basic UI tests', () => {
11     let jsonBuilderAAIService : JsonBuilder<ServiceModel> = new JsonBuilder<ServiceModel>();
12     let commonUuid = "6e59c5de-f052-46fa-aa7e-2fca9d674c44";
13     let serviceInvariantId = "d27e42cf-087e-4d31-88ac-6c4b7585f800";
14
15     let jsonBuilderAAISubViewEditModel: JsonBuilder<AAISubViewEditModel> = new JsonBuilder<AAISubViewEditModel>();
16     let jsonBuilderPNF: JsonBuilder<PnfModel> = new JsonBuilder<PnfModel>();
17     let jsonBuilderAaiServiceInstances: JsonBuilder<AaiServiceInstancesModel> = new JsonBuilder<AaiServiceInstancesModel>();
18     let jsonBuilderEmpty: JsonBuilder<Object> = new JsonBuilder<Object>();
19     beforeEach(() => {
20       cy.window().then((win) => {
21         win.sessionStorage.clear();
22       });
23       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/basicService.json').then((res) => {
24         jsonBuilderAAIService.basicJson(
25           res,
26           Cypress.config('baseUrl') + "/rest/models/services/" + commonUuid,
27           200, 0,
28           "service-complexService",
29           changeServiceModel)
30       });
31
32       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/basicFabricConfigService.json').then((res) => {
33         jsonBuilderAAIService.basicJson(
34           res,
35           Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d671234",
36           200, 0,
37           "service-FabricConfig", changeFabric)
38       });
39
40       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/activeFabricConfigService.json').then((res) => {
41         jsonBuilderAAIService.basicJson(
42           res,
43           Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d675678",
44           200, 0,
45           "service-FabricConfig", changeFabric)
46       });
47
48       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/createdFabricConfigService.json').then((res) => {
49         jsonBuilderAAIService.basicJson(
50           res,
51           Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d679000",
52           200, 0,
53           "service-FabricConfig", changeFabric)
54       });
55
56       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/deactivatedFabricConfigService.json').then((res) => {
57         jsonBuilderAAIService.basicJson(
58           res,
59           Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d671000",
60           200, 0,
61           "service-FabricConfig", changeFabric)
62       });
63
64       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiSubViewEditForComplexService.json').then((res) => {
65         jsonBuilderAAISubViewEditModel.basicJson(
66           res,
67           Cypress.config('baseUrl') + "/aai_sub_viewedit/**/**/**/3f93c7cb-2fd0-4557-9514-e189b7b04f9d",
68           200,
69           0,
70           "aai-sub-view-edit")
71       });
72
73       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiSubViewEditForFabricConfigService.json').then((res) => {
74         jsonBuilderAAISubViewEditModel.basicJson(
75           res,
76           Cypress.config('baseUrl') + "/aai_sub_viewedit/**/**/**/c187e9fe-40c3-4862-b73e-84ff056205f61234",
77           200,
78           0,
79           "aai-sub-view-edit")
80       });
81
82       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiSubViewEditForActiveFabricConfigService.json').then((res) => {
83         jsonBuilderAAISubViewEditModel.basicJson(
84           res,
85           Cypress.config('baseUrl') + "/aai_sub_viewedit/**/**/**/c187e9fe-40c3-4862-b73e-84ff056205f65678",
86           200,
87           0,
88           "aai-sub-view-edit")
89       });
90
91       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiSubViewEditForCreatedFabricConfigService.json').then((res) => {
92         jsonBuilderAAISubViewEditModel.basicJson(
93           res,
94           Cypress.config('baseUrl') + "/aai_sub_viewedit/**/**/**/c187e9fe-40c3-4862-b73e-84ff056205f69000",
95           200,
96           0,
97           "aai-sub-view-edit")
98       });
99
100       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiSubViewEditForDeactivatedFabricConfigService.json').then((res) => {
101         jsonBuilderAAISubViewEditModel.basicJson(
102           res,
103           Cypress.config('baseUrl') + "/aai_sub_viewedit/**/**/**/c187e9fe-40c3-4862-b73e-84ff056205f61000",
104           200,
105           0,
106           "aai-sub-view-edit")
107       });
108
109       cy.initGetAAISubDetails();
110
111       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiServiceInstancePnfs.json').then((res) => {
112         jsonBuilderPNF.basicJson(
113           res,
114           Cypress.config('baseUrl') + "/aai_get_service_instance_pnfs/**",
115           200,
116           0,
117           "aai-get-service-instance-pnfs")
118       });
119
120       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/aaiServiceInstances.json').then((res) => {
121         jsonBuilderAaiServiceInstances.basicJson(
122           res,
123           Cypress.config('baseUrl') + "/search_service_instances**",
124           200,
125           0,
126           "aai-get-service-instances")
127       });
128
129       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/emptyObjectResponse.json').then((res) => {
130         jsonBuilderEmpty.basicJson(
131           res,
132           Cypress.config('baseUrl') + "/aai_getPortMirroringConfigsData**",
133           200,
134           0,
135           "aai_getPortMirroringConfigsDate - empty response")
136       });
137
138       cy.readFile('cypress/support/jsonBuilders/mocks/jsons/emptyObjectResponse.json').then((res) => {
139         jsonBuilderEmpty.basicJson(
140           res,
141           Cypress.config('baseUrl') + "/aai_getPortMirroringSourcePorts**",
142           200,
143           0,
144           "aai_getPortMirroringSourcePorts - empty response")
145       });
146       cy.initVidMock({serviceUuid: commonUuid, invariantId: serviceInvariantId});
147       cy.setReduxState();
148       cy.permissionVidMock();
149       cy.login();
150     });
151
152     afterEach(() => {
153       cy.screenshot();
154     });
155
156     it(`should display service model name and version on each info form`, function () {
157       let typesToIncludeModel:Array<string> = ['service', 'vnf', 'vfmodule', 'volume-group', 'network'];
158       cy.visit('/serviceModels.htm#/instantiate?subscriberId=e433710f-9217-458d-a79d-1c7aff376d89&subscriberName=SILVIA%20ROBBINS&serviceType=TYLER%20SILVIA&serviceInstanceId=3f93c7cb-2fd0-4557-9514-e189b7b04f9d&aaiModelVersionId=6e59c5de-f052-46fa-aa7e-2fca9d674c44&isPermitted=true');
159       cy.wait('@service-complexService');
160       cy.wait('@aai_getPortMirroringConfigsDate - empty response');
161       cy.get('div').contains('VOLUME GROUP: f'); // waits for the view/edit to be ready after ports' redraw
162       typesToIncludeModel.forEach((type) => {
163         cy.get('.' + type + '-info').click({force: true});
164         cy.getElementByDataTestsId("Model Version").contains('1.0');
165         cy.getElementByDataTestsId("Model Name").contains('vidmacrofalsenaming');
166         cy.getElementByDataTestsId("detailsCloseBtn").click();
167       });
168     });
169
170     it(`Check fabric configuration service with some configuration with diff orchStatus`, function () {
171       cy.visit('/serviceModels.htm#/instantiate?subscriberId=e433710f-9217-458d-a79d-1c7aff376d89&subscriberName=SILVIA%20ROBBINS&serviceType=TYLER%20SILVIA&serviceInstanceId=c187e9fe-40c3-4862-b73e-84ff056205f61234&aaiModelVersionId=6e59c5de-f052-46fa-aa7e-2fca9d671234&isPermitted=true');
172       cy.wait('@service-FabricConfig');
173       cy.get('.error-msg').should("be.visible").should('contain','Activate fabric configuration button is not available as some of the configuration objects are not in Assigned status. Check MSO logs for the reasons for this abnormal case.');
174       cy.getElementByDataTestsId("activateFabricConfigurationButton").should('have.attr', 'disabled');
175       cy.getElementByDataTestsId("activateButton").should("not.be.visible");
176     });
177
178     it(`Check fabric configuration service with active status`, function () {
179       cy.visit('/serviceModels.htm#/instantiate?subscriberId=e433710f-9217-458d-a79d-1c7aff376d89&subscriberName=SILVIA%20ROBBINS&serviceType=TYLER%20SILVIA&serviceInstanceId=c187e9fe-40c3-4862-b73e-84ff056205f65678&aaiModelVersionId=6e59c5de-f052-46fa-aa7e-2fca9d671234&isPermitted=true');
180       cy.wait('@service-FabricConfig');
181       cy.getElementByDataTestsId("activateFabricConfigurationButton").should('not.be.visible');
182       cy.getElementByDataTestsId("activateButton").should('have.attr', 'disabled');
183       cy.getElementByDataTestsId("deactivateButton").should("be.visible");
184     });
185
186     it(`Check fabric configuration service with created status`, function () {
187       cy.visit('/serviceModels.htm#/instantiate?subscriberId=e433710f-9217-458d-a79d-1c7aff376d89&subscriberName=SILVIA%20ROBBINS&serviceType=TYLER%20SILVIA&serviceInstanceId=c187e9fe-40c3-4862-b73e-84ff056205f69000&aaiModelVersionId=6e59c5de-f052-46fa-aa7e-2fca9d679000&isPermitted=true');
188       cy.wait('@service-FabricConfig');
189       cy.getElementByDataTestsId("activateFabricConfigurationButton").should('not.be.visible');
190       cy.getElementByDataTestsId("activateButton").should('have.attr', 'disabled');
191       cy.getElementByDataTestsId("deactivateButton").should("be.visible");
192     });
193
194     it(`Check fabric configuration service with pendingdeLete status`, function () {
195       cy.visit('/serviceModels.htm#/instantiate?subscriberId=e433710f-9217-458d-a79d-1c7aff376d89&subscriberName=SILVIA%20ROBBINS&serviceType=TYLER%20SILVIA&serviceInstanceId=c187e9fe-40c3-4862-b73e-84ff056205f61000&aaiModelVersionId=6e59c5de-f052-46fa-aa7e-2fca9d671000&isPermitted=true');
196       cy.wait('@service-FabricConfig');
197       cy.getElementByDataTestsId("activateFabricConfigurationButton").should('not.be.visible');
198       cy.getElementByDataTestsId("activateButton").should('not.have.attr', 'disabled');
199       cy.getElementByDataTestsId("deactivateButton").should('have.attr', 'disabled');
200     });
201
202   });
203
204   function changeFabric(serviceModel: ServiceModel) {
205     serviceModel.service.uuid = "6e59c5de-f052-46fa-aa7e-2fca9d671234";
206     return serviceModel;
207   }
208
209   function changeServiceModel(serviceModel: ServiceModel) {
210     serviceModel.service.uuid = "6e59c5de-f052-46fa-aa7e-2fca9d674c44";
211     return serviceModel;
212   }
213 });