-
Notifications
You must be signed in to change notification settings - Fork 28
/
load.spec.js
104 lines (97 loc) · 4.25 KB
/
load.spec.js
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
describe('Timers', () => {
beforeEach(() => {
cy.visit('http://localhost:3000/');
cy.wait(1000);
});
describe('Fissures', () => {
let fissures;
it('should load', () => {
cy.get('div.fissures').as('fissures');
cy.get('@fissures').children().should('have.length', 2);
cy.get('div.fissures .list-group-item.list-group-item-borderbottom').as('fissureSelection');
cy.get('@fissureSelection').find('.btn.btn-outline-primary.btn-sm').as('selectionButtons');
cy.get('@selectionButtons').should('have.length', 4);
cy.get('@selectionButtons').eq(0).should('have.text', 'Fissures');
cy.get('@selectionButtons').eq(1).should('have.text', 'Void Storm');
cy.get('@selectionButtons').eq(2).should('have.text', 'Steel Path');
cy.get('@selectionButtons').eq(3).should('have.text', 'All');
cy.get('div.fissures>.list-group>.list-group-item.list-group-item-borderless.pb-0').then(($el) => {
// eslint-disable-next-line no-undef
fissures = Cypress.dom.wrap($el);
cy.get('@fissures')
.find('.list-group .list-group-item')
.should('have.length', fissures.length + 2);
});
});
it('should filter Steel Path', () => {
cy.get('div.fissures .list-group .list-group-item').as('fissures');
cy.get('div.fissures .list-group-item.list-group-item-borderbottom').as('fissureSelection');
cy.get('@fissureSelection').find('.btn.btn-outline-primary.btn-sm').as('selectionButtons');
cy.get('@selectionButtons').eq(2).click();
cy.get('div.fissures>.list-group>.list-group-item.list-group-item-borderless.pb-0').then(($el) => {
// eslint-disable-next-line no-undef
const steelFissures = Cypress.dom.wrap($el);
cy.get('@fissures')
.should('have.length', steelFissures.length + 2)
.and('have.length.lessThan', fissures.length);
});
});
it('should filter Void Storms', () => {
cy.get('div.fissures .list-group .list-group-item').as('fissures');
cy.get('div.fissures .list-group-item.list-group-item-borderbottom').as('fissureSelection');
cy.get('@fissureSelection').find('.btn.btn-outline-primary.btn-sm').as('selectionButtons');
cy.get('@selectionButtons').eq(2).click();
cy.get('div.fissures>.list-group>.list-group-item.list-group-item-borderless.pb-0').then(($el) => {
// eslint-disable-next-line no-undef
const stormFissures = Cypress.dom.wrap($el);
cy.get('@fissures')
.should('have.length', stormFissures.length + 2)
.and('have.length.lessThan', fissures.length);
});
});
it('should show icons for specialty types', () => {
cy.get('div.fissures .list-group .list-group-item.pb-0').as('fissures');
cy.get('div.fissures .list-group-item.list-group-item-borderbottom').as('fissureSelection');
cy.get('@fissureSelection').find('.btn.btn-outline-primary.btn-sm').as('selectionButtons');
// select Void Fissures
cy.get('@selectionButtons').eq(1).click();
cy.get('@fissures').each(($fissureRow) => {
cy.wrap($fissureRow)
.find('.li-mission-decorator.li-mission-decorator-lg')
.each(($img, idx) => {
if (idx === 1) cy.wrap($img).should('have.attr', 'title', 'Void Storm');
});
});
// select Steel Path
cy.get('@selectionButtons').eq(2).click();
cy.get('@fissures').each(($fissureRow) => {
cy.wrap($fissureRow)
.find('.li-mission-decorator.li-mission-decorator-lg')
.each(($img, idx) => {
if (idx === 1) cy.wrap($img).should('have.attr', 'title', 'Steel Path');
});
});
});
});
describe('Nightwave', () => {
it('should load', () => {
const nightwave = cy.get('div.nightwave');
nightwave.children().should('have.length', 2);
});
});
describe('Sortie', () => {
it('should load', () => {
const sortie = cy.get('div.sortie');
sortie.children().should('have.length', 2);
});
});
describe('Bounties', () => {
it('should load', () => {
const bounties = cy.get('div.bounties');
bounties.should('have.length', 3);
bounties.each((bountyPanel) => {
expect(bountyPanel.children()).to.have.length(2);
});
});
});
});