upgrade vfmodule when upgraded already service, vnf and brother vfmodule e2e
[vid.git] / vid-webpack-master / cypress / integration / iFrames / viewOnlyDrawingBoard.e2e.ts
index 2f2ed14..1d94454 100644 (file)
@@ -4,21 +4,52 @@ import {JsonBuilder} from '../../support/jsonBuilders/jsonBuilder';
 import {ServiceModel} from '../../support/jsonBuilders/models/service.model';
 import {AsyncInstantiationModel} from "../../support/jsonBuilders/models/asyncInstantiation.model";
 
-describe('View only drawing board', function () {
-  var jsonBuilderAndMock: JsonBuilder<ServiceModel> = new JsonBuilder<ServiceModel>();
+var jsonBuilderAndMock: JsonBuilder<ServiceModel> = new JsonBuilder<ServiceModel>();
+var jsonBuilderInstantiationBuilder: JsonBuilder<AsyncInstantiationModel> = new JsonBuilder<AsyncInstantiationModel>();
+const SERVICE_MODEL_ID: string = '6e59c5de-f052-46fa-aa7e-2fca9d674c44';
+const SERVICE_INVARIANT_ID: string = "d27e42cf-087e-4d31-88ac-6c4b7585f800";
+
+export const initServicePlanning = function (viewOrEdit: string, customModelFilePath?: string ){
+  const SUBSCRIBER_ID: string = "e433710f-9217-458d-a79d-1c7aff376d89";
+  const SERVICE_TYPE: string = "TYLER SILVIA";
+  const SERVICE_INSTANCE_ID: string = "f8791436-8d55-4fde-b4d5-72dd2cf13cfb";
+  if (Cypress._.isNil(customModelFilePath)){
+    customModelFilePath = '../vid-automation/src/test/resources/aaiGetInstanceTopology/ServiceTreeWithMultipleChildren_serviceInstance.json';
+  }
+
+  cy.readFile('../vid-automation/src/test/resources/aaiGetInstanceTopology/ServiceTreeWithMultipleChildren_serviceModel.json').then((res) => {
+    jsonBuilderAndMock.basicJson(
+      res,
+      Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d674c44",
+      200,
+      0,
+      "ServiceTreeWithMultipleChildren_serviceModel",
+    )
+  });
 
-  var jsonBuilderInstantiationBuilder: JsonBuilder<AsyncInstantiationModel> = new JsonBuilder<AsyncInstantiationModel>();
+  cy.readFile(customModelFilePath).then((res) => {
+    jsonBuilderAndMock.basicJson(
+      res,
+      Cypress.config('baseUrl') + "/aai_get_service_instance_topology/e433710f-9217-458d-a79d-1c7aff376d89/TYLER SILVIA/f8791436-8d55-4fde-b4d5-72dd2cf13cfb",
+      200, 0,
+      "ServiceTreeWithMultipleChildren_serviceInstance",
+    );
+  });
+  cy.openIframe(`app/ui/#/servicePlanning/${viewOrEdit}?serviceModelId=${SERVICE_MODEL_ID}&subscriberId=${SUBSCRIBER_ID}&serviceType=${SERVICE_TYPE}&serviceInstanceId=${SERVICE_INSTANCE_ID}`);
+}
+
+describe('View only drawing board', function () {
+  const _VIEW = "VIEW";
 
   beforeEach(() => {
-    cy.window().then((win) => {
-      win.sessionStorage.clear();
+      cy.clearSessionStorage();
       cy.preventErrorsOnLoading();
       cy.initAAIMock();
       cy.initVidMock();
+      cy.mockLatestVersionForService(SERVICE_MODEL_ID, SERVICE_INVARIANT_ID);
       cy.initZones();
       cy.permissionVidMock();
       cy.login();
-    });
   });
 
   afterEach(() => {
@@ -31,7 +62,7 @@ describe('View only drawing board', function () {
     const SERVICE_INSTANCE_ID: string = "f8791436-8d55-4fde-b4d5-72dd2cf13cfb";
     const SERVICE_MODEL_ID: string = '6b528779-44a3-4472-bdff-9cd15ec93450';
 
-    cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/serviceModels/ecompNamingFalseModel.json').then((res) => {
+    cy.readFile('cypress/support/jsonBuilders/mocks/jsons/serviceModels/ecompNamingFalseModel.json').then((res) => {
       jsonBuilderInstantiationBuilder.basicJson(
         res,
         Cypress.config('baseUrl') + "/rest/models/services/6b528779-44a3-4472-bdff-9cd15ec93450",
@@ -54,7 +85,7 @@ describe('View only drawing board', function () {
     const SERVICE_INSTANCE_ID: string = "f8791436-8d55-4fde-b4d5-72dd2cf13cfb";
     const SERVICE_MODEL_ID: string = '6b528779-44a3-4472-bdff-9cd15ec93450';
 
-    cy.readFile('/cypress/support/jsonBuilders/mocks/jsons/serviceModels/ecompNamingFalseModel.json').then((res) => {
+    cy.readFile('cypress/support/jsonBuilders/mocks/jsons/serviceModels/ecompNamingFalseModel.json').then((res) => {
       jsonBuilderAndMock.basicJson(
         res,
         Cypress.config('baseUrl') + "/rest/models/services/6b528779-44a3-4472-bdff-9cd15ec93450",
@@ -82,13 +113,13 @@ describe('View only drawing board', function () {
     cy.getElementByDataTestsId('node-2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_vRE_BV..module-1').find(`[data-tests-id='node-type-indicator']`).should('have.text', 'M');
 
     //testing right side
-    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find(`[data-tests-id='node-type-indicator']`).should('have.text', 'VNF');
-    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').click({force: true});
+    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find(`[data-tests-id='node-type-indicator']`).should('have.length', 3).and('have.text', 'VNFVNFVNF');
+    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').eq(0).click({force: true});
     cy.getElementByDataTestsId('node-f8360508-3f17-4414-a2ed-6bc71161e8db-2017488_pasqualevpe0..2017488PasqualeVpe..PASQUALE_base_vPE_BV..module-0').eq(0).find(`[data-tests-id='node-type-indicator']`).should('have.text', 'M');
 
     //check vnf node tree sub header
-    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find("[data-tests-id='status-property-orchStatus']").should('have.text', 'Created');
-    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find("[data-tests-id='status-property-provStatus']").should('have.text', '');
+    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find("[data-tests-id='status-property-orchStatus']").eq(0).should('have.text', 'Created');
+    cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find("[data-tests-id='status-property-provStatus']").eq(0).should('have.text', '');
     cy.getElementByDataTestsId('node-69e09f68-8b63-4cc9-b9ff-860960b5db09-2017-488_PASQUALE-vPE 0').find("[data-tests-id='status-property-inMaint']").should('not.exist');
 
     //check vf Module node tree sub header
@@ -105,43 +136,16 @@ describe('View only drawing board', function () {
 
 
   });
-  function initServicePlanning(){
-    const SUBSCRIBER_ID: string = "e433710f-9217-458d-a79d-1c7aff376d89";
-    const SERVICE_TYPE: string = "TYLER SILVIA";
-    const SERVICE_INSTANCE_ID: string = "f8791436-8d55-4fde-b4d5-72dd2cf13cfb";
-    const SERVICE_MODEL_ID: string = '6e59c5de-f052-46fa-aa7e-2fca9d674c44';
 
-    cy.readFile('../vid-automation/src/test/resources/aaiGetInstanceTopology/ServiceTreeWithMultipleChildren_serviceModel.json').then((res) => {
-      jsonBuilderAndMock.basicJson(
-        res,
-        Cypress.config('baseUrl') + "/rest/models/services/6e59c5de-f052-46fa-aa7e-2fca9d674c44",
-        200,
-        0,
-        "ServiceTreeWithMultipleChildren_serviceModel",
-      )
-    });
-
-    cy.readFile('../vid-automation/src/test/resources/aaiGetInstanceTopology/ServiceTreeWithMultipleChildren_serviceInstance.json').then((res) => {
-      jsonBuilderAndMock.basicJson(
-        res,
-        Cypress.config('baseUrl') + "/aai_get_service_instance_topology/e433710f-9217-458d-a79d-1c7aff376d89/TYLER SILVIA/f8791436-8d55-4fde-b4d5-72dd2cf13cfb",
-        200, 0,
-        "ServiceTreeWithMultipleChildren_serviceInstance",
-      )
-    });
-
-    cy.openIframe(`app/ui/#/servicePlanning/VIEW?serviceModelId=${SERVICE_MODEL_ID}&subscriberId=${SUBSCRIBER_ID}&serviceType=${SERVICE_TYPE}&serviceInstanceId=${SERVICE_INSTANCE_ID}`);
-
-  }
   it('check component info for 2 trees for vnf, vf-module, and network', function(){
-    initServicePlanning();
+    initServicePlanning(_VIEW);
     testComponentInfoForVNF();
     testComponentInfoForVFMODULE();
     testComponentInfoForNetwork();
   });
 
   it(`when open service planning in view mode service instance is shown as expected - e2e with API's ServiceTreeWithMultipleChildren`, function () {
-    initServicePlanning();
+    initServicePlanning(_VIEW);
     /*
     0. title area -> generic stuff
                      instance name
@@ -228,7 +232,7 @@ describe('View only drawing board', function () {
         'status-property-provStatus': '',
         'status-property-inMaint': '',
       },
-      'node-undefined-dc229cd8-c132-4455-8517-5c1787c18b14:0': {
+      'node-dc229cd8-c132-4455-8517-5c1787c18b14-dc229cd8-c132-4455-8517-5c1787c18b14:0': {
         'node-type-indicator': 'M',
         'node-name': 'ss820f_0918_base',
         'status-property-orchStatus': 'Assigned',
@@ -327,7 +331,7 @@ describe('View only drawing board', function () {
       ['Model version', '2.0'],
       ['Model customization ID', '91415b44-753d-494c-926a-456a9172bbb9'],
       ['Min instances', '0'],
-      ['Max instances', '1']
+      ['Max instances', 'Unlimited (default)']
     ];
     const extraLabelsAndValuesForInstance = [['Instance type', 'VNF2_INSTANCE_TYPE'],['In maintenance','true'], ['Instance ID', 'VNF2_INSTANCE_ID']];
     testComponentInfoByType('node-VF_vGeraldine 0', labelsAndValuesForModel,'VNF INFO',
@@ -341,6 +345,7 @@ describe('View only drawing board', function () {
       ['Model customization ID', '55b1be94-671a-403e-a26c-667e9c47d091'],
       ['Base module', 'false'],
       ['Min instances', '0'],
+      ['Max instances', 'Unlimited (default)'],
       ['Initial instances count', '0']
     ];
     const extraLabelsAndValuesForInstance = [['In maintenance','true'], ['Instance ID', '2c1ca484-cbc2-408b-ab86-25a2c15ce280']];
@@ -352,6 +357,8 @@ describe('View only drawing board', function () {
   function testComponentInfoForNetwork(){
     const labelsAndValuesForModel = [
       ['Model version', '37.0'],
+      ['Min instances', '0'],
+      ['Max instances', 'Unlimited (default)'],
       ['Model customization ID', '94fdd893-4a36-4d70-b16a-ec29c54c184f'],
       ['Network role','network role 1, network role 2']
     ];