| const randomNodeName = () => |
| Math.random() |
| .toString(36) |
| .substr(2, 7); |
| const NODE_NAME = randomNodeName(); |
| |
| const serverGetDDLData = () => { |
| return cy |
| .server() |
| .route( |
| 'GET', |
| Cypress.env('backendUrl') + '/getResourcesByMonitoringTemplateCategory' |
| ) |
| .as('templateAPi') |
| .route( |
| 'GET', |
| Cypress.env('backendUrl') + |
| '/service/06c7d927-4e2f-47e1-a29d-b6ed229ebc0a' |
| ) |
| .as('vfniListAPi'); |
| }; |
| |
| const saveAndDoneHttp = () => { |
| cy.server(); |
| cy |
| .route({ |
| method: 'POST', |
| url: Cypress.env('backendUrl') + '/rule-editor/rule/**/**/**/**' |
| }) |
| .as('doneSaveCopyRule'); |
| }; |
| |
| const createNewMC = () => { |
| cy |
| .get('input[data-tests-id="nameMc"]') |
| .type(`Hello${NODE_NAME}`) |
| .get('textarea[data-tests-id="descMc"]') |
| .type('Hello Description') |
| .get('select[data-tests-id="templateDdl"]') |
| .then($els => { |
| const opt = $els.find('option'); |
| const first = opt.get(1) as any; |
| return $els.val(first.value); |
| }) |
| .trigger('change') |
| .get('select[data-tests-id="vfniDdl"]') |
| .then($els => { |
| const opt = $els.find('option'); |
| const first = opt.get(1) as any; |
| return $els.val(first.value); |
| }) |
| .trigger('change') |
| .get('button[data-tests-id="createMonitoring"]') |
| .not('[disabled]') |
| .should('not.contain', 'Disabled'); |
| cy |
| .server() |
| .route({ |
| method: 'POST', |
| url: Cypress.env('backendUrl') + '/createMC' |
| }) |
| .as('newMC') |
| .get('button[data-tests-id="createMonitoring"]') |
| .click() |
| .wait('@newMC'); |
| }; |
| |
| import { buttonCreateMC } from '../mocks/homePage-spec'; |
| import { |
| selectVersionAndTypeAndAddFirstRule, |
| fillRuleDecription, |
| addCopyAction, |
| editFirstRule |
| } from '../mocks/ruleEngine-spec'; |
| |
| describe('DCAED - forntend e2e and inagration test', () => { |
| context('Empty Monitoring Configuration list for service', () => { |
| it('Loads', () => { |
| cy.homePage(); |
| }); |
| }); |
| |
| context('Create new monitoring configuration', () => { |
| beforeEach(() => { |
| serverGetDDLData(); |
| cy.homePage(); |
| buttonCreateMC() |
| .click() |
| .wait(['@templateAPi', '@vfniListAPi']); |
| }); |
| |
| it('After api call success verify create button is disabled', () => { |
| cy |
| .get('button[data-tests-id="createMonitoring"]') |
| .should('be.visible') |
| .and('be.disabled'); |
| }); |
| |
| it('click on create mc - more then one tab should be visible', () => { |
| createNewMC(); |
| cy |
| .get('ul[p-tabviewnav]') |
| .children() |
| .should($el => { |
| expect($el.length).to.be.greaterThan(1); |
| }); |
| }); |
| |
| it('should enter rule engine in map tab and create new rule', () => { |
| createNewMC(); |
| cy |
| .get('#ui-tabpanel-1-label') |
| .should('contain', 'map') |
| .click(); |
| selectVersionAndTypeAndAddFirstRule(); |
| fillRuleDecription('newRule'); |
| addCopyAction(); |
| saveAndDoneHttp(); |
| cy.get('button[data-tests-id="btnDone"]').click(); |
| cy |
| .wait('@doneSaveCopyRule') |
| .get('div[data-tests-id="ruleElement"]') |
| .should('be.visible') |
| .then(function($lis) { |
| expect($lis).to.have.length(1); |
| expect($lis.eq(0)).to.contain('newRule'); |
| }); |
| editFirstRule(); |
| fillRuleDecription('LiavRule'); |
| saveAndDoneHttp(); |
| cy |
| .get('button[data-tests-id="btnSave"]') |
| .click() |
| .wait('@doneSaveCopyRule') |
| .get('a[data-tests-id="btnBackRule"]') |
| .click() |
| .get('div[data-tests-id="ruleElement"]') |
| .should('be.visible') |
| .then(function($lis) { |
| expect($lis).to.have.length(1); |
| expect($lis.eq(0)).to.contain('LiavRule'); |
| }); |
| }); |
| }); |
| }); |