summaryrefslogtreecommitdiffstats
path: root/public/cypress/integration/mocks/generalPage-spec.ts
blob: 1297de87c07a1e5a4f4497a9d26e08756596ba20 (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
describe('General Page - E2E test flow with mock', () => {
  describe('Create new MC', () => {
    beforeEach(() => {
      cy.httpGetDDLData();
      cy.getMCListEmpty();
      cy.homePage();
      cy.get('button[data-tests-id="btn-create-mc"]').click();
    });

    it('Create button need to be disabled', () => {
      cy
        .get('button[data-tests-id="createMonitoring"]')
        .should('be.visible')
        .and('be.disabled');
    });

    it('Fill form then click to submit verify setting button and constrain ddl', () => {
      cy.fillNewMcForm();
      cy
        .get('button[data-tests-id="createMonitoring"]')
        .as('createButton')
        .not('[disabled]')
        .should('not.contain', 'Disabled');

      cy.httpCreateNewMc();
      cy.emptyRuleEngine('Type1');

      cy.get('@createButton').click();
      cy
        .get('#ui-tabpanel-1-label')
        .should('contain', 'map')
        .click();
      cy
        .get('button[data-tests-id="setting-gear"]')
        .should('be.visible')
        .first()
        .click({ multiple: true });

      cy
        .get('.map-setting-list #mappingType > .field-text')
        .should('have.value', 'multiple');
    });
  });

  describe('Tabs after MC created', () => {
    beforeEach(() => {
      cy.httpGetDDLData();
      cy.getMCListEmpty();
      cy.homePage();
      cy.get('button[data-tests-id="btn-create-mc"]').click();
      cy.fillNewMcForm();
      cy.httpCreateNewMc();
      cy.emptyRuleEngine('Type1');
      cy.get('button[data-tests-id="createMonitoring"]').click();
    });

    it('should have 4 icon buttons in map tab', () => {
      cy
        .get('#ui-tabpanel-1-label')
        .should('contain', 'map')
        .click();
      cy
        .get('.map-bar-icon-container>button')
        .should('have.length', 2)
        .get('.map-bar-icon-container>div>button')
        .should('have.length', 2)
        .and('be.visible');
    });

    it('should have 2 icon buttons in supplement tab', () => {
      cy
        .get('#ui-tabpanel-2-label')
        .should('contain', 'supplement')
        .click();
      cy
        .get('.supplement-bar-icon-container>button')
        .should('have.length', 2)
        .and('be.visible')
        .get('.supplement-bar-icon-container')
        .children()
        .should('have.length', 3);
    });
  });
});