}
cy.readFile('../vid-automation/src/test/resources/aaiGetInstanceTopology/ServiceTreeWithMultipleChildren_serviceModel.json').then((res) => {
+ res.service.instantiationType = "A-La-Carte";
+ res.service.vidNotions.instantiationType = "ALaCarte";
jsonBuilderAndMock.basicJson(
res,
Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d674c44",
let jsonBuilderAaiServiceInstances: JsonBuilder<AaiServiceInstancesModel> = new JsonBuilder<AaiServiceInstancesModel>();
beforeEach(() => {
- cy.window().then((win) => {
- win.sessionStorage.clear();
- });
+ cy.clearSessionStorage();
cy.readFile('cypress/support/jsonBuilders/mocks/jsons/basicService.json').then((res) => {
jsonBuilderAAIService.basicJson(
res,
mockAsyncBulkResponse();
cy.initGetAAISubDetails();
- cy.initVidMock({serviceUuid: serviceUuid, invariantId: serviceInvariantId});
+ cy.initVidMock();
+ cy.mockLatestVersionForService(serviceUuid, serviceInvariantId);
cy.setReduxState();
cy.permissionVidMock();
cy.login();
it(`should display the more actions button if user is permitted`, function () {
let SERVICE_INSTANCE_ID="3f93c7cb-2fd0-4557-9514-e189b7b04f9d";
- let SERVICE_TYPE="VIRTUAL%20USP";
- cy.visit(`/serviceModels.htm#/instantiate?subscriberId=${SUBSCRIBER_ID}&subscriberName=USP%20VOICE&serviceType=${SERVICE_TYPE}&serviceInstanceId=${SERVICE_INSTANCE_ID}&aaiModelVersionId=${serviceUuid}&isPermitted=true`);
+ let SERVICE_TYPE="TYLER%20SILVIA";
+ cy.visit(`/serviceModels.htm#/instantiate?subscriberId=${SUBSCRIBER_ID}&subscriberName=SILVIA%20ROBBINS&serviceType=${SERVICE_TYPE}&serviceInstanceId=${SERVICE_INSTANCE_ID}&aaiModelVersionId=${serviceUuid}&isPermitted=true`);
cy.get("[data-tests-id='service-instanceId-th-id']").should('contain', SERVICE_INSTANCE_ID);
cy.getElementByDataTestsId("show-new-screen").should('be.visible').should('have.text', 'More actions').click();
`servicePlanning/EDIT?serviceModelId=${serviceUuid}&subscriberId=${SUBSCRIBER_ID}&serviceType=${SERVICE_TYPE}&serviceInstanceId=${SERVICE_INSTANCE_ID}`);
});
- it(`Upgrade a VFModule`, function () {
+ it(`Upgrade a VF Module`, function () {
cy.initDrawingBoardUserPermission();
initServicePlanning("EDIT",
'../vid-automation/src/test/resources/viewEdit/ServiceTreeWithMultipleChildren_serviceInstance_withUpdatedLatestVersion.json');
- upgradeTheVFM();
+ upgradeTheVFM('node-522159d5-d6e0-4c2a-aa44-5a542a12a830-vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1', true);
+ assertVfModuleActionInRedux("None_Upgrade");
undoUpgradeForVFM();
- upgradeTheVFM();
+ assertVfModuleActionInRedux("None");
+ upgradeTheVFM('node-522159d5-d6e0-4c2a-aa44-5a542a12a830-vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1',true);
cy.getDrawingBoardDeployBtn().click();
cy.wait('@expectedPostAsyncInstantiation').then(xhr => {
- expect(Object(xhr.request.body).action).to.equal("None_Upgrade");
- expect(Object(xhr.request.body).vnfs['VNF2_INSTANCE_ID'].action).to.equal("None_Upgrade");
- expect(Object(xhr.request.body).vnfs['VNF2_INSTANCE_ID'].vfModules['dc229cd8-c132-4455-8517-5c1787c18b14']['3ef042c4-259f-45e0-9aba-0989bd8d1cc5'].action).to.equal("None_Upgrade");
+ const requestBody = Object(xhr.request.body);
+ const vfModuleRequest = requestBody.vnfs['VNF2_INSTANCE_ID'].vfModules['vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1']['2c1ca484-cbc2-408b-ab86-25a2c15ce280'];
+ expect(requestBody.action).to.equal("None_Upgrade");
+ expect(requestBody.vnfs['VNF2_INSTANCE_ID'].action).to.equal("None_Upgrade");
+ expect(vfModuleRequest.action).to.equal("None_Upgrade");
});
});
});
+ describe('More UI test', () => {
+
+ beforeEach(() => {
+ cy.clearSessionStorage();
+ cy.setTestApiParamToGR();
+ cy.initVidMock();
+ cy.login();
+ });
+
+ afterEach(() => {
+ cy.screenshot();
+ });
+ it(`Upgrade a VFModule: another case e2e`, function () {
+
+ const serviceType = 'Emanuel';
+ const subscriberId = 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb';
+ const serviceModelId = '06c415d8-afc2-4bcb-a131-e4db4b8e96ce';
+ const serviceInstanceId = '6196ab1f-2349-4b32-9b6c-cffeb0ccc79c';
+ const serviceInvariantUuid = "b3a1a119-dede-4ed0-b077-2a617fa519a3";
+
+ cy.initDrawingBoardUserPermission();
+
+ cy.route(`**/rest/models/services/${serviceModelId}`,
+ 'fixture:../support/jsonBuilders/mocks/jsons/upgradeVfModule/upgrade_vfmodule_e2e__service_model.json')
+ .as('serviceModel2');
+
+ cy.route(`**/aai_get_service_instance_topology/${subscriberId}/${serviceType}/${serviceInstanceId}`,
+ 'fixture:../support/jsonBuilders/mocks/jsons/upgradeVfModule/upgrade_vfmodule_e2e__service_instance.json')
+ .as('serviceInstance2');
+
+ cy.route(`**/aai_get_newest_model_version_by_invariant/${serviceInvariantUuid}`,
+ {
+ "modelVersionId": "d9a5b318-187e-476d-97f7-a15687a927a9",
+ "modelName": "xbi test module replace",
+ "modelVersion": "2.0",
+ "distributionStatus": "DISTRIBUTION_COMPLETE_OK",
+ "resourceVersion": "1571769586156",
+ "modelDescription": "test module replacement feature",
+ "orchestrationType": null
+ }
+ ).as("newestModelVersion2");
+
+ cy.openIframe(`app/ui/#/servicePlanning/EDIT?serviceModelId=${serviceModelId}&subscriberId=${subscriberId}&serviceType=${serviceType}&serviceInstanceId=${serviceInstanceId}`);
+
+ upgradeTheVFM('node-04b21d26-9780-4956-8329-b22b049329f4-xbitestmodulereplace0..XbiTestModuleReplace..base_ocg..module-0', false);
+
+ mockAsyncBulkResponse();
+ cy.getDrawingBoardDeployBtn().click();
+
+ cy.wait('@expectedPostAsyncInstantiation').then(xhr => {
+ cy.readFile('../vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_e2e__fe_input_cypress.json').then((expectedResult) => {
+ cy.deepCompare(xhr.request.body, expectedResult);
+ });
+ });
+
+ });
+
+ it(`Upgrade a VFModule: upgrade vfmodule when upgraded already service, vnf and borther vfmodule e2e`, function () {
+
+ const serviceType = 'Emanuel';
+ const subscriberId = 'a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb';
+ const serviceModelId = 'a243da28-c11e-45a8-9f26-0284a9a789bc';
+ const serviceInstanceId = 'b153e8ce-2d00-4466-adc0-14bad70f150c';
+ const serviceInvariantUuid = "dd5a69b7-c50c-4dde-adc2-966b79bb8fd6";
+
+ cy.initDrawingBoardUserPermission();
+
+ cy.route(`**/rest/models/services/${serviceModelId}`,
+ 'fixture:../support/jsonBuilders/mocks/jsons/upgradeVfModule/upgrade_vfmodule_when_service_vnf_and_brother_vfmodule_alredy_upgraded_e2e__service_model.json')
+ .as('serviceModel2');
+
+ cy.route(`**/aai_get_service_instance_topology/${subscriberId}/${serviceType}/${serviceInstanceId}`,
+ 'fixture:../support/jsonBuilders/mocks/jsons/upgradeVfModule/upgrade_vfmodule_when_service_vnf_and_brother_vfmodule_alredy_upgraded_e2e__service_instance.json')
+ .as('serviceInstance2');
+
+ cy.route(`**/aai_get_newest_model_version_by_invariant/${serviceInvariantUuid}`, {
+ "modelVersionId": "a243da28-c11e-45a8-9f26-0284a9a789bc",
+ "modelName": "CHARLOTTE 01222020 Svc",
+ "modelVersion": "3.0",
+ "distributionStatus": "DISTRIBUTION_COMPLETE_OK",
+ "resourceVersion": "1580246673596",
+ "modelDescription": "test model for VF module replacement",
+ "orchestrationType": null
+ }
+ ).as("newestModelVersion2");
+
+ cy.openIframe(`app/ui/#/servicePlanning/EDIT?serviceModelId=${serviceModelId}&subscriberId=${subscriberId}&serviceType=${serviceType}&serviceInstanceId=${serviceInstanceId}`);
+
+ upgradeTheVFM('node-3412fe1f-e103-4777-90c0-f66d888f4bed-mdns012220200..Mdns01222020..dns_az_01..module-1', true);
+
+ mockAsyncBulkResponse();
+ cy.getDrawingBoardDeployBtn().click();
+
+ cy.wait('@expectedPostAsyncInstantiation').then(xhr => {
+ cy.readFile('../vid-app-common/src/test/resources/payload_jsons/vfmodule/upgrade_vfmodule_not_related_to_current_model_e2e__fe_input_cypress.json').then((expectedResult) => {
+ cy.deepCompare(xhr.request.body, expectedResult);
+ });
+ });
+
+ });
+
+ });
+
+
function mockAsyncBulkResponse() {
cy.server().route({
url: Cypress.config('baseUrl') + '/asyncInstantiation/bulk',
}
function verifyMenuActionUpgradeDoesNotExist() {
- cy.getElementByDataTestsId('node-undefined-dc229cd8-c132-4455-8517-5c1787c18b14-menu-btn').click()
- .getElementByDataTestsId('context-menu-upgrade').should('not.exist');
+ cy.getElementByDataTestsId('node-522159d5-d6e0-4c2a-aa44-5a542a12a830-vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1-menu-btn').click().then(() => {
+ cy.getElementByDataTestsId('context-menu-upgrade').should('not.exist');
+ });
}
function setLatestVersionMockToEmptyResponse(serviceUuid: string) {
method: 'GET',
status: 200,
response: {},
- }).as("expectLatestServiceModelUpgradeVersion")
+ }).as("expectLatestServiceModelUpgradeVersion");
}
- function upgradeTheVFM(): Chainable<any> {
- return cy.getElementByDataTestsId('node-undefined-dc229cd8-c132-4455-8517-5c1787c18b14-menu-btn').click()
+ function upgradeTheVFM(treeNodeId: string, shouldVGCheckboxExist :boolean) {
+ cy.getElementByDataTestsId(`${treeNodeId}-menu-btn`).click()
.drawingBoardTreeClickOnContextMenuOptionByName("Upgrade");
+ // The following is needed when enabling FLAG_2002_VFM_UPGRADE_ADDITIONAL_OPTIONS
+
+ cy.getElementByDataTestsId('retainAssignments').click();
+ if (shouldVGCheckboxExist) {
+ cy.getElementByDataTestsId('retainVolumeGroups').click();
+ }
+ else {
+ cy.getElementByDataTestsId('retainVolumeGroups').should('not.exist');
+ }
+ cy.getElementByDataTestsId('sdncPreLoad').click();
+ cy.screenshot();
+ cy.getElementByDataTestsId('form-set').click();
}
function undoUpgradeForVFM() {
- cy.getElementByDataTestsId('node-undefined-dc229cd8-c132-4455-8517-5c1787c18b14-menu-btn').click()
+ cy.getElementByDataTestsId('node-522159d5-d6e0-4c2a-aa44-5a542a12a830-vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1-menu-btn').click()
.drawingBoardTreeClickOnContextMenuOptionByName("Undo Upgrade");
}
serviceModel.service.uuid = "6e59c5de-f052-46fa-aa7e-2fca9d674c44";
return serviceModel;
}
+
+ function assertVfModuleActionInRedux(expectedState:string) {
+ cy.getReduxState().then((state) => {
+ const vfModule = state.service.serviceInstance['6e59c5de-f052-46fa-aa7e-2fca9d674c44']
+ .vnfs["VNF2_INSTANCE_ID"]
+ .vfModules["vf_vgeraldine0..VfVgeraldine..vflorence_vlc..module-1"]["2c1ca484-cbc2-408b-ab86-25a2c15ce280"];
+ expect(vfModule.action).to.equal(expectedState)
+ });
+ }
});