summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/cypress/integration/iFrames/auditInfo.modal.e2e.ts
blob: cd7844ad12ec4413d8581920a9609cf8d439f214 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
///<reference path="../../../node_modules/cypress/types/index.d.ts"/>
import {JsonBuilder} from '../../support/jsonBuilders/jsonBuilder';
import {AsyncInstantiationModel} from '../../support/jsonBuilders/models/asyncInstantiation.model';
import * as _ from 'lodash';
import {ServiceModel} from "../../support/jsonBuilders/models/service.model";

describe('Audit information modal', function () {
  describe('basic UI tests', () => {
    var jsonBuilderInstantiationBuilder: JsonBuilder<AsyncInstantiationModel> = new JsonBuilder<AsyncInstantiationModel>();
    var jsonBuilderAndMock: JsonBuilder<ServiceModel> = new JsonBuilder<ServiceModel>();
    beforeEach(() => {
        cy.clearSessionStorage();
        cy.setReduxState();
        cy.preventErrorsOnLoading();
        jsonBuilderInstantiationBuilder.basicMock('cypress/support/jsonBuilders/mocks/jsons/asyncInstantiation.json',
          Cypress.config('baseUrl') + "/asyncInstantiation**");
        cy.initAAIMock();
        cy.initVidMock();
        cy.initAsyncInstantiation();
        cy.login();
    });

    afterEach(() => {
      cy.screenshot();
    }); 

    it(`should display 2 tables with information's`, function () {
      cy.initAuditInfoMSOALaCarte();
      cy.openIframe('app/ui/#/instantiationStatus');
      cy.get('.instantiation-status-data tbody tr').each(function (row, index) {
        cy.get('.icon-menu').eq(index).click({force: true}).then(()=>{
          cy.getElementByDataTestsId('context-menu-audit-info').click({force:true}).then(()=>{
            cy.setViewportToSmallPopup();
              cy.get('#service-instantiation-audit-info-mso').should('be.visible')
              .get('#service-instantiation-audit-info-mso').find('#msoJobStatus').should('be.visible')
              .get('#cancelButton').click({force: true})
              .setViewportToDefault();
          })
        });
      });
    });

    it("shouldn't show instance name in mso table on macro service", function () {
      cy.openIframe('app/ui/#/instantiationStatus');
      cy.get('.icon-menu').eq(0).click({force:true}).then(() => {
        cy.getElementByDataTestsId('context-menu-audit-info').click({force:true}).then(() => {
          cy.setViewportToSmallPopup();
          cy.get('#service-instantiation-audit-info-mso thead tr th#instanceName').should("not.be.visible")
            .get('#service-instantiation-audit-info-mso tbody tr td.msoInstanceName').should("not.be.visible");
        })
      })
    });

    it('should show instance name in mso table on a la carte service', function () {
      cy.readFile('../vid-automation/src/test/resources/a-la-carte/auditInfoMSOALaCarte.json').then((res) => {
        cy.initAuditInfoMSOALaCarte(res);
        cy.openIframe('app/ui/#/instantiationStatus');
        cy.get('.icon-menu').eq(7).click({force:true}).then(() => {
          cy.getElementByDataTestsId('context-menu-audit-info').click({force:true}).then(() => {
            cy.setViewportToSmallPopup();
            cy.get('#service-instantiation-audit-info-mso thead tr th#instanceName').should("be.visible")
              .get('#service-instantiation-audit-info-mso tbody tr').each(function (row, index) {
                let instanceColumn :any = res[index]['instanceName'] + " | undefined";
              assert.equal(row.find('#msoRequestId').text().trim(), res[index]['requestId']);
              assert.equal(row.find('.msoInstanceName').text().trim(),instanceColumn );
              assert.equal(row.find('#msoJobStatus').text().trim(), _.capitalize(res[index]['jobStatus']));
              assert.equal(row.find('#msoAdditionalInfo span').text().trim(), res[index]['additionalInfo']);
            });
          });
        })
      })
    });

    it('glossary should be visible', function () {
      cy.openIframe('app/ui/#/instantiationStatus');
      cy.get('.icon-menu').eq(7).click().then(() => {
        cy.getElementByDataTestsId('context-menu-audit-info').click().then(() => {
          cy.setViewportToSmallPopup();
          cy.get('#glossary_link').should('be.visible');
        });
      })
    });

    it('Refresh link should be visible and clicking refresh should fetch latest data', function () {
      cy.initAuditInfoMSOALaCarte(); 
      cy.openIframe('app/ui/#/instantiationStatus');
      cy.get('.instantiation-status-data tbody tr').each(function (row, index) {
        cy.get('.icon-menu').eq(index).click({force: true}).then(()=>{
          cy.getElementByDataTestsId('context-menu-audit-info').click({force:true}).then(()=>{
            cy.setViewportToSmallPopup();
            cy.get('#refreshButton').should('be.visible')
            cy.get('#refreshButton').click({force: true}).then(() => {
              cy.initAuditInfoMSOALaCarteNew();
            })
          })
  
          })
        });
      });

    it('Check if the table data is sorted in descending order by start time', function () {
        const expectedResult = getExpectedResult();
        cy.readFile('../vid-automation/src/test/resources/a-la-carte/auditInfoMSOALaCarteNew.json').then((res) => {
        cy.initAuditInfoMSOALaCarteNew(res);
        cy.openIframe('app/ui/#/instantiationStatus');
        cy.get('.icon-menu').eq(7).click({force:true}).then(() => {
          cy.getElementByDataTestsId('context-menu-audit-info').click({force:true}).then(() => {
            cy.setViewportToSmallPopup();
            cy.get('#service-instantiation-audit-info-mso thead tr th#instanceName').should("be.visible")
              .get('#service-instantiation-audit-info-mso tbody tr').each(function (row, index) {
                const instanceColumn :any = expectedResult[index]['instanceName'] + " | " +expectedResult[index]['instanceId'];
              assert.equal(row.find('#msoRequestId').text().trim(), expectedResult[index]['requestId']);
              assert.equal(row.find('.msoInstanceName').text().trim(), instanceColumn);
              assert.equal(row.find('#msostartTime').text().trim(), expectedResult[index]['startTime']);
            });
          });
        })
        });
      }); 

  });
});



function getExpectedResult() {
  return [
    {
      "requestId": "1fc2ef3b-26f0-4e62-a00a-6a31502d39e2",
      "instanceName": "zrdm54cfmgw01_sup_1",
      "modelType": "vfModule",
      "instanceType": "createInstance",
      "startTime": "Mon, 24 Aug 2020 22:54:29 GMT",
      "finishTime": "Mon, 24 Aug 2020 22:56:35 GMT",
      "jobStatus": "ROLLED_BACK_TO_ASSIGNED",
      "additionalInfo": "<b>Source:</b> VID</br><b>StatusMessage:</b>STATUS: Error Source: OPENSTACK, Error Message: Received vfModuleException from VnfAdapter: category='INTERNAL' message='Exception during create VF 400 Bad Request: The server could not comply with the request since it is either malformed or otherwise incorrect., error.type=UserParameterMissing, error.message=The Parameter (VSFO_CP0_compute_node) was not provided.' rolledBack='true'</br><b>FlowStatus:</b> All Rollback flows have completed successfully</br><b>TestAPI:</b> GR_API</br><b>TenantId:</b> ad299b37da30413391e9c28138f0b0cd</br><b>TenantName:</b> FNCORE-30052-D-MC-RDM54c</br><b>CloudOwner:</b> att-nc</br>"
    },
    {
      "requestId": "a4e43d9e-4813-42e4-94bf-c5c6f22ed0bc",
      "instanceName": "zrdm54cfmgw01_base",
      "modelType": "vfModule",
      "instanceType": "createInstance",
      "startTime": "Mon, 24 Aug 2020 22:44:42 GMT",
      "finishTime": "Mon, 24 Aug 2020 22:54:17 GMT",
      "jobStatus": "COMPLETE",
      "additionalInfo": "<b>Source:</b> VID</br><b>StatusMessage:</b>STATUS: ALaCarte-VfModule-createInstance request was executed correctly.</br><b>FlowStatus:</b> Successfully completed all Building Blocks</br><b>TestAPI:</b> GR_API</br><b>TenantId:</b> ad299b37da30413391e9c28138f0b0cd</br><b>TenantName:</b> FNCORE-30052-D-MC-RDM54c</br><b>CloudOwner:</b> att-nc</br>"
    },
    {
      "requestId": "f1aa7175-c237-4b56-ba64-7cb728a38ff2",
      "instanceName": "zrdm54cfmgw01",
      "modelType": "vnf",
      "instanceType": "createInstance",
      "startTime": "Mon, 24 Aug 2020 22:38:18 GMT",
      "finishTime": "Mon, 24 Aug 2020 22:44:24 GMT",
      "jobStatus": "COMPLETE",
      "additionalInfo": "<b>Source:</b> VID</br><b>StatusMessage:</b>STATUS: ALaCarte-Vnf-createInstance request was executed correctly.</br><b>FlowStatus:</b> Successfully completed all Building Blocks</br><b>TestAPI:</b> GR_API</br><b>TenantId:</b> ad299b37da30413391e9c28138f0b0cd</br><b>TenantName:</b> FNCORE-30052-D-MC-RDM54c</br><b>CloudOwner:</b> att-nc</br><b>PlatformName:</b> FIRSTNET-DEDICATED,NETWORK-CLOUD</br><b>LineOfBusiness:</b> FIRSTNET</br>"
    },
    {
      "requestId": "7ba7900c-3e51-4d87-b1b4-3c53bdfaaa7d",
      "instanceName": "zrdm54cfmgw01_svc",
      "modelType": "service",
      "instanceType": "createInstance",
      "startTime": "Mon, 24 Aug 2020 22:37:53 GMT",
      "finishTime": "Mon, 24 Aug 2020 22:38:10 GMT",
      "jobStatus": "COMPLETE",
      "additionalInfo": "<b>Source:</b> VID</br><b>StatusMessage:</b>STATUS: ALaCarte-Service-createInstance request was executed correctly.</br><b>FlowStatus:</b> Successfully completed all Building Blocks</br><b>SubscriptionServiceType:</b> FIRSTNET</br><b>Alacarte:</b> true</br><b>TestAPI:</b> GR_API</br><b>ProjectName: FIRSTNET</br><b>OwningEntityId:</b> 10c645f5-9924-4b89-bec0-b17cf49d3cad</br><b>OwningEntityName:</b> MOBILITY-CORE</br>"
    }
  ];
}