Skip to content

Commit 562b17d

Browse files
Copilotrenemadsen
andcommitted
Refactor Cypress tests to assign values to variables before proceeding
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
1 parent 278e876 commit 562b17d

File tree

5 files changed

+145
-50
lines changed

5 files changed

+145
-50
lines changed

eform-client/cypress/e2e/MyEforms.page.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,11 @@ class MyEformsPage extends PageWithNavbarPage {
163163
cy.get('body').then($body => {
164164
if ($body.find('.eform-id').length > 0) {
165165
// Table has rows, delete them
166-
cy.get('.eform-id').its('length').as('rowCount');
167-
cy.get('@rowCount').then((rowCount) => {
166+
let rowCount: number;
167+
cy.get('.eform-id').its('length').then((length) => {
168+
rowCount = length;
169+
});
170+
cy.then(() => {
168171
for (let i = 1; i <= rowCount; i++) {
169172
cy.get('#delete-eform-btn-0').click();
170173
cy.intercept('DELETE' , '**/api/templates/delete/*').as('deleteEform');

eform-client/cypress/e2e/c/navigation-menu.create-item.spec.cy.ts

Lines changed: 57 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ describe('Navigation menu - Create item', function () {
1212

1313
it('element must be moved from templates to list', () => {
1414
// Get initial count
15-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
16-
cy.get('@initialCount').then((initialCount) => {
15+
let initialCount: number;
16+
navigationMenuPage.getMenuItems().its('length').then((length) => {
17+
initialCount = length;
18+
});
19+
20+
cy.then(() => {
1721
navigationMenuPage.collapseTemplates(0);
1822
navigationMenuPage.createMenuItemFromTemplate(0);
1923

@@ -54,8 +58,12 @@ describe('Navigation menu - Create item', function () {
5458
translations: ['test1', 'test2', 'test3']
5559
};
5660

57-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
58-
cy.get('@initialCount').then((initialCount) => {
61+
let initialCount: number;
62+
navigationMenuPage.getMenuItems().its('length').then((length) => {
63+
initialCount = length;
64+
});
65+
66+
cy.then(() => {
5967
navigationMenuPage.collapseTemplates(1);
6068
navigationMenuPage.createCustomLink(customLink);
6169

@@ -71,17 +79,24 @@ describe('Navigation menu - Create item', function () {
7179
cy.wait('@saveMenu', { timeout: 30000 });
7280

7381
// Open last item for editing
74-
navigationMenuPage.getMenuItems().its('length').as('count');
75-
cy.get('@count').then((count) => {
82+
let count: number;
83+
navigationMenuPage.getMenuItems().its('length').then((length) => {
84+
count = length;
85+
});
86+
87+
cy.then(() => {
7688
navigationMenuPage.openEditMenuItem(count - 1);
7789

7890
// Verify link
7991
cy.get('#editLinkInput').should('have.value', customLink.link);
8092

8193
// Verify translations
8294
customLink.translations.forEach((translation, i) => {
83-
navigationMenuPage.getMenuItems().its('length').as('itemCount');
84-
cy.get('@itemCount').then((itemCount) => {
95+
let itemCount: number;
96+
navigationMenuPage.getMenuItems().its('length').then((length) => {
97+
itemCount = length;
98+
});
99+
cy.then(() => {
85100
cy.get(`#editItemTranslation${itemCount - 1}_0_${i}`).should('have.value', translation);
86101
});
87102
});
@@ -100,8 +115,12 @@ describe('Navigation menu - Create item', function () {
100115
translations: ['test1', 'test2', 'test3']
101116
};
102117

103-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
104-
cy.get('@initialCount').then((initialCount) => {
118+
let initialCount: number;
119+
navigationMenuPage.getMenuItems().its('length').then((length) => {
120+
initialCount = length;
121+
});
122+
123+
cy.then(() => {
105124
navigationMenuPage.collapseTemplates(1);
106125
navigationMenuPage.createCustomDropdown(dropdown);
107126

@@ -117,14 +136,21 @@ describe('Navigation menu - Create item', function () {
117136
cy.wait('@saveMenu', { timeout: 30000 });
118137

119138
// Open last item for editing
120-
navigationMenuPage.getMenuItems().its('length').as('count');
121-
cy.get('@count').then((count) => {
139+
let count: number;
140+
navigationMenuPage.getMenuItems().its('length').then((length) => {
141+
count = length;
142+
});
143+
144+
cy.then(() => {
122145
navigationMenuPage.openEditMenuItem(count - 1);
123146

124147
// Verify translations
125148
dropdown.translations.forEach((translation, i) => {
126-
navigationMenuPage.getMenuItems().its('length').as('itemCount');
127-
cy.get('@itemCount').then((itemCount) => {
149+
let itemCount: number;
150+
navigationMenuPage.getMenuItems().its('length').then((length) => {
151+
itemCount = length;
152+
});
153+
cy.then(() => {
128154
cy.get(`#editItemTranslation${itemCount - 1}_0_${i}`).should('have.value', translation);
129155
});
130156
});
@@ -143,8 +169,12 @@ describe('Navigation menu - Create item', function () {
143169
translations: ['test1', 'test2', 'test3']
144170
};
145171

146-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
147-
cy.get('@initialCount').then((initialCount) => {
172+
let initialCount: number;
173+
navigationMenuPage.getMenuItems().its('length').then((length) => {
174+
initialCount = length;
175+
});
176+
177+
cy.then(() => {
148178
navigationMenuPage.collapseTemplates(1);
149179
navigationMenuPage.createCustomDropdown(dropdown);
150180

@@ -160,8 +190,12 @@ describe('Navigation menu - Create item', function () {
160190
cy.wait('@saveMenu', { timeout: 30000 });
161191

162192
// Open last item for editing
163-
navigationMenuPage.getMenuItems().its('length').as('count');
164-
cy.get('@count').then((count) => {
193+
let count: number;
194+
navigationMenuPage.getMenuItems().its('length').then((length) => {
195+
count = length;
196+
});
197+
198+
cy.then(() => {
165199
navigationMenuPage.openEditMenuItem(count - 1);
166200

167201
// Verify security groups
@@ -171,8 +205,11 @@ describe('Navigation menu - Create item', function () {
171205

172206
// Verify translations
173207
dropdown.translations.forEach((translation, i) => {
174-
navigationMenuPage.getMenuItems().its('length').as('itemCount');
175-
cy.get('@itemCount').then((itemCount) => {
208+
let itemCount: number;
209+
navigationMenuPage.getMenuItems().its('length').then((length) => {
210+
itemCount = length;
211+
});
212+
cy.then(() => {
176213
cy.get(`#editItemTranslation${itemCount - 1}_0_${i}`).should('have.value', translation);
177214
});
178215
});

eform-client/cypress/e2e/c/navigation-menu.delete-item.spec.cy.ts

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,12 @@ describe('Navigation menu - Delete item', function () {
1616
translations: ['test1', 'test', 'test3']
1717
};
1818

19-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
20-
cy.get('@initialCount').then((initialCount) => {
19+
let initialCount: number;
20+
navigationMenuPage.getMenuItems().its('length').then((length) => {
21+
initialCount = length;
22+
});
23+
24+
cy.then(() => {
2125
navigationMenuPage.collapseTemplates(1);
2226

2327
navigationMenuPage.createCustomDropdown(dropdown);
@@ -32,8 +36,12 @@ describe('Navigation menu - Delete item', function () {
3236
navigationMenuPage.getMenuItems().should('have.length', initialCount + 3);
3337

3438
// Drag template items into dropdown
35-
navigationMenuPage.getMenuItems().its('length').as('currentCount');
36-
cy.get('@currentCount').then((currentCount) => {
39+
let currentCount: number;
40+
navigationMenuPage.getMenuItems().its('length').then((length) => {
41+
currentCount = length;
42+
});
43+
44+
cy.then(() => {
3745
navigationMenuPage.collapseMenuItemDropdown(currentCount - 1);
3846
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(1, currentCount - 1);
3947
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(2, currentCount - 1);
@@ -51,12 +59,19 @@ describe('Navigation menu - Delete item', function () {
5159
});
5260

5361
it('should before deleted items from custom dropdown and items menu', () => {
54-
navigationMenuPage.getMenuItems().its('length').as('menuItemsCount');
55-
cy.get('@menuItemsCount').then((menuItemsCount) => {
62+
let menuItemsCount: number;
63+
navigationMenuPage.getMenuItems().its('length').then((length) => {
64+
menuItemsCount = length;
65+
});
66+
67+
cy.then(() => {
5668
// Get count of elements in dropdown
57-
navigationMenuPage.getDropdownBodyChilds(menuItemsCount - 1).its('length').as('dropdownCount');
58-
cy.get('@dropdownCount').then((dropdownCount) => {
69+
let dropdownCount: number;
70+
navigationMenuPage.getDropdownBodyChilds(menuItemsCount - 1).its('length').then((length) => {
71+
dropdownCount = length;
72+
});
5973

74+
cy.then(() => {
6075
// Delete 3 elements from dropdown
6176
navigationMenuPage.deleteElementFromDropdown(menuItemsCount - 1, 0);
6277
navigationMenuPage.deleteElementFromDropdown(menuItemsCount - 1, 0);
@@ -73,8 +88,12 @@ describe('Navigation menu - Delete item', function () {
7388
navigationMenuPage.deleteElementFromMenuItems(0);
7489
navigationMenuPage.deleteElementFromMenuItems(0); // delete 2 template elements
7590

76-
navigationMenuPage.getMenuItems().its('length').as('currentCount');
77-
cy.get('@currentCount').then((currentCount) => {
91+
let currentCount: number;
92+
navigationMenuPage.getMenuItems().its('length').then((length) => {
93+
currentCount = length;
94+
});
95+
96+
cy.then(() => {
7897
navigationMenuPage.deleteElementFromMenuItems(currentCount - 1); // delete created dropdown
7998

8099
cy.intercept('POST', '**/api/navigation-menu').as('saveMenu2');

eform-client/cypress/e2e/c/navigation-menu.drag-item.spec.cy.ts

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,23 @@ describe('Navigation menu - Drag item', function () {
1616
translations: ['test1', 'test', 'test3']
1717
};
1818

19-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
20-
cy.get('@initialCount').then((initialCount) => {
19+
let initialCount: number;
20+
navigationMenuPage.getMenuItems().its('length').then((length) => {
21+
initialCount = length;
22+
});
23+
24+
cy.then(() => {
2125
navigationMenuPage.collapseTemplates(1);
2226
navigationMenuPage.createCustomDropdown(dropdown);
2327

2428
navigationMenuPage.getMenuItems().should('have.length', initialCount + 1);
2529

26-
navigationMenuPage.getMenuItems().its('length').as('currentCount');
27-
cy.get('@currentCount').then((currentCount) => {
30+
let currentCount: number;
31+
navigationMenuPage.getMenuItems().its('length').then((length) => {
32+
currentCount = length;
33+
});
34+
35+
cy.then(() => {
2836
navigationMenuPage.collapseMenuItemDropdown(currentCount - 1);
2937
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(1, currentCount - 1);
3038
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(2, currentCount - 1);
@@ -36,8 +44,12 @@ describe('Navigation menu - Drag item', function () {
3644
});
3745

3846
it('should edit elements in dropdown', () => {
39-
navigationMenuPage.getMenuItems().its('length').as('menuCount');
40-
cy.get('@menuCount').then((menuCount) => {
47+
let menuCount: number;
48+
navigationMenuPage.getMenuItems().its('length').then((length) => {
49+
menuCount = length;
50+
});
51+
52+
cy.then(() => {
4153
const array = [
4254
{
4355
indexChildDropdown: 0,
@@ -85,8 +97,12 @@ describe('Navigation menu - Drag item', function () {
8597
});
8698

8799
it('swap elements in dropdown', () => {
88-
navigationMenuPage.getMenuItems().its('length').as('menuCount');
89-
cy.get('@menuCount').then((menuCount) => {
100+
let menuCount: number;
101+
navigationMenuPage.getMenuItems().its('length').then((length) => {
102+
menuCount = length;
103+
});
104+
105+
cy.then(() => {
90106
// Swap elements within dropdown
91107
navigationMenuPage.dragAndDropElementOfDropdown(menuCount, 2, 0);
92108

eform-client/cypress/e2e/c/navigation-menu.edit-item.spec.cy.ts

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@ describe('Navigation menu - Edit item', function () {
1717
translations: ['test1', 'test2', 'test3']
1818
};
1919

20-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
21-
cy.get('@initialCount').then((initialCount) => {
20+
let initialCount: number;
21+
navigationMenuPage.getMenuItems().its('length').then((length) => {
22+
initialCount = length;
23+
});
24+
25+
cy.then(() => {
2226
navigationMenuPage.collapseTemplates(1);
2327
navigationMenuPage.createCustomLink(customLink);
2428

@@ -39,8 +43,12 @@ describe('Navigation menu - Edit item', function () {
3943

4044
navigationMenuPage.collapseTemplates(1);
4145

42-
navigationMenuPage.getMenuItems().its('length').as('count');
43-
cy.get('@count').then((count) => {
46+
let count: number;
47+
navigationMenuPage.getMenuItems().its('length').then((length) => {
48+
count = length;
49+
});
50+
51+
cy.then(() => {
4452
navigationMenuPage.editCustomLink(customLink, count - 1);
4553

4654
cy.intercept('POST', '**/api/navigation-menu').as('saveMenu');
@@ -74,8 +82,12 @@ describe('Navigation menu - Edit item', function () {
7482
translations: ['test1', 'test2', 'test3']
7583
};
7684

77-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
78-
cy.get('@initialCount').then((initialCount) => {
85+
let initialCount: number;
86+
navigationMenuPage.getMenuItems().its('length').then((length) => {
87+
initialCount = length;
88+
});
89+
90+
cy.then(() => {
7991
navigationMenuPage.collapseTemplates(1);
8092
navigationMenuPage.createCustomDropdown(dropdown);
8193

@@ -93,8 +105,12 @@ describe('Navigation menu - Edit item', function () {
93105
translations: ['Test11', 'Test22', 'Test31']
94106
};
95107

96-
navigationMenuPage.getMenuItems().its('length').as('count');
97-
cy.get('@count').then((count) => {
108+
let count: number;
109+
navigationMenuPage.getMenuItems().its('length').then((length) => {
110+
count = length;
111+
});
112+
113+
cy.then(() => {
98114
navigationMenuPage.editCustomDropdown(dropdown, count - 1);
99115

100116
cy.intercept('POST', '**/api/navigation-menu').as('saveMenu');
@@ -120,8 +136,12 @@ describe('Navigation menu - Edit item', function () {
120136
});
121137

122138
it('element must be moved from templates to list', () => {
123-
navigationMenuPage.getMenuItems().its('length').as('initialCount');
124-
cy.get('@initialCount').then((initialCount) => {
139+
let initialCount: number;
140+
navigationMenuPage.getMenuItems().its('length').then((length) => {
141+
initialCount = length;
142+
});
143+
144+
cy.then(() => {
125145
navigationMenuPage.collapseTemplates(0);
126146
navigationMenuPage.createMenuItemFromTemplate(0);
127147

0 commit comments

Comments
 (0)