Skip to content

Commit 278e876

Browse files
Copilotrenemadsen
andcommitted
Refactor Cypress tests to avoid .its('length').then() pattern
Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com>
1 parent 6dd6516 commit 278e876

File tree

5 files changed

+50
-25
lines changed

5 files changed

+50
-25
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,8 @@ 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').then((rowCount) => {
166+
cy.get('.eform-id').its('length').as('rowCount');
167+
cy.get('@rowCount').then((rowCount) => {
167168
for (let i = 1; i <= rowCount; i++) {
168169
cy.get('#delete-eform-btn-0').click();
169170
cy.intercept('DELETE' , '**/api/templates/delete/*').as('deleteEform');

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

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ 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').then(initialCount => {
15+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
16+
cy.get('@initialCount').then((initialCount) => {
1617
navigationMenuPage.collapseTemplates(0);
1718
navigationMenuPage.createMenuItemFromTemplate(0);
1819

@@ -53,7 +54,8 @@ describe('Navigation menu - Create item', function () {
5354
translations: ['test1', 'test2', 'test3']
5455
};
5556

56-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
57+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
58+
cy.get('@initialCount').then((initialCount) => {
5759
navigationMenuPage.collapseTemplates(1);
5860
navigationMenuPage.createCustomLink(customLink);
5961

@@ -69,15 +71,17 @@ describe('Navigation menu - Create item', function () {
6971
cy.wait('@saveMenu', { timeout: 30000 });
7072

7173
// Open last item for editing
72-
navigationMenuPage.getMenuItems().its('length').then(count => {
74+
navigationMenuPage.getMenuItems().its('length').as('count');
75+
cy.get('@count').then((count) => {
7376
navigationMenuPage.openEditMenuItem(count - 1);
7477

7578
// Verify link
7679
cy.get('#editLinkInput').should('have.value', customLink.link);
7780

7881
// Verify translations
7982
customLink.translations.forEach((translation, i) => {
80-
navigationMenuPage.getMenuItems().its('length').then(itemCount => {
83+
navigationMenuPage.getMenuItems().its('length').as('itemCount');
84+
cy.get('@itemCount').then((itemCount) => {
8185
cy.get(`#editItemTranslation${itemCount - 1}_0_${i}`).should('have.value', translation);
8286
});
8387
});
@@ -96,7 +100,8 @@ describe('Navigation menu - Create item', function () {
96100
translations: ['test1', 'test2', 'test3']
97101
};
98102

99-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
103+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
104+
cy.get('@initialCount').then((initialCount) => {
100105
navigationMenuPage.collapseTemplates(1);
101106
navigationMenuPage.createCustomDropdown(dropdown);
102107

@@ -112,12 +117,14 @@ describe('Navigation menu - Create item', function () {
112117
cy.wait('@saveMenu', { timeout: 30000 });
113118

114119
// Open last item for editing
115-
navigationMenuPage.getMenuItems().its('length').then(count => {
120+
navigationMenuPage.getMenuItems().its('length').as('count');
121+
cy.get('@count').then((count) => {
116122
navigationMenuPage.openEditMenuItem(count - 1);
117123

118124
// Verify translations
119125
dropdown.translations.forEach((translation, i) => {
120-
navigationMenuPage.getMenuItems().its('length').then(itemCount => {
126+
navigationMenuPage.getMenuItems().its('length').as('itemCount');
127+
cy.get('@itemCount').then((itemCount) => {
121128
cy.get(`#editItemTranslation${itemCount - 1}_0_${i}`).should('have.value', translation);
122129
});
123130
});
@@ -136,7 +143,8 @@ describe('Navigation menu - Create item', function () {
136143
translations: ['test1', 'test2', 'test3']
137144
};
138145

139-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
146+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
147+
cy.get('@initialCount').then((initialCount) => {
140148
navigationMenuPage.collapseTemplates(1);
141149
navigationMenuPage.createCustomDropdown(dropdown);
142150

@@ -152,7 +160,8 @@ describe('Navigation menu - Create item', function () {
152160
cy.wait('@saveMenu', { timeout: 30000 });
153161

154162
// Open last item for editing
155-
navigationMenuPage.getMenuItems().its('length').then(count => {
163+
navigationMenuPage.getMenuItems().its('length').as('count');
164+
cy.get('@count').then((count) => {
156165
navigationMenuPage.openEditMenuItem(count - 1);
157166

158167
// Verify security groups
@@ -162,7 +171,8 @@ describe('Navigation menu - Create item', function () {
162171

163172
// Verify translations
164173
dropdown.translations.forEach((translation, i) => {
165-
navigationMenuPage.getMenuItems().its('length').then(itemCount => {
174+
navigationMenuPage.getMenuItems().its('length').as('itemCount');
175+
cy.get('@itemCount').then((itemCount) => {
166176
cy.get(`#editItemTranslation${itemCount - 1}_0_${i}`).should('have.value', translation);
167177
});
168178
});

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

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

19-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
19+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
20+
cy.get('@initialCount').then((initialCount) => {
2021
navigationMenuPage.collapseTemplates(1);
2122

2223
navigationMenuPage.createCustomDropdown(dropdown);
@@ -31,7 +32,8 @@ describe('Navigation menu - Delete item', function () {
3132
navigationMenuPage.getMenuItems().should('have.length', initialCount + 3);
3233

3334
// Drag template items into dropdown
34-
navigationMenuPage.getMenuItems().its('length').then(currentCount => {
35+
navigationMenuPage.getMenuItems().its('length').as('currentCount');
36+
cy.get('@currentCount').then((currentCount) => {
3537
navigationMenuPage.collapseMenuItemDropdown(currentCount - 1);
3638
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(1, currentCount - 1);
3739
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(2, currentCount - 1);
@@ -49,9 +51,11 @@ describe('Navigation menu - Delete item', function () {
4951
});
5052

5153
it('should before deleted items from custom dropdown and items menu', () => {
52-
navigationMenuPage.getMenuItems().its('length').then(menuItemsCount => {
54+
navigationMenuPage.getMenuItems().its('length').as('menuItemsCount');
55+
cy.get('@menuItemsCount').then((menuItemsCount) => {
5356
// Get count of elements in dropdown
54-
navigationMenuPage.getDropdownBodyChilds(menuItemsCount - 1).its('length').then(dropdownCount => {
57+
navigationMenuPage.getDropdownBodyChilds(menuItemsCount - 1).its('length').as('dropdownCount');
58+
cy.get('@dropdownCount').then((dropdownCount) => {
5559

5660
// Delete 3 elements from dropdown
5761
navigationMenuPage.deleteElementFromDropdown(menuItemsCount - 1, 0);
@@ -69,7 +73,8 @@ describe('Navigation menu - Delete item', function () {
6973
navigationMenuPage.deleteElementFromMenuItems(0);
7074
navigationMenuPage.deleteElementFromMenuItems(0); // delete 2 template elements
7175

72-
navigationMenuPage.getMenuItems().its('length').then(currentCount => {
76+
navigationMenuPage.getMenuItems().its('length').as('currentCount');
77+
cy.get('@currentCount').then((currentCount) => {
7378
navigationMenuPage.deleteElementFromMenuItems(currentCount - 1); // delete created dropdown
7479

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

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

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

19-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
19+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
20+
cy.get('@initialCount').then((initialCount) => {
2021
navigationMenuPage.collapseTemplates(1);
2122
navigationMenuPage.createCustomDropdown(dropdown);
2223

2324
navigationMenuPage.getMenuItems().should('have.length', initialCount + 1);
2425

25-
navigationMenuPage.getMenuItems().its('length').then(currentCount => {
26+
navigationMenuPage.getMenuItems().its('length').as('currentCount');
27+
cy.get('@currentCount').then((currentCount) => {
2628
navigationMenuPage.collapseMenuItemDropdown(currentCount - 1);
2729
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(1, currentCount - 1);
2830
navigationMenuPage.dragTemplateOnElementInCreatedDropdown(2, currentCount - 1);
@@ -34,7 +36,8 @@ describe('Navigation menu - Drag item', function () {
3436
});
3537

3638
it('should edit elements in dropdown', () => {
37-
navigationMenuPage.getMenuItems().its('length').then(menuCount => {
39+
navigationMenuPage.getMenuItems().its('length').as('menuCount');
40+
cy.get('@menuCount').then((menuCount) => {
3841
const array = [
3942
{
4043
indexChildDropdown: 0,
@@ -82,7 +85,8 @@ describe('Navigation menu - Drag item', function () {
8285
});
8386

8487
it('swap elements in dropdown', () => {
85-
navigationMenuPage.getMenuItems().its('length').then(menuCount => {
88+
navigationMenuPage.getMenuItems().its('length').as('menuCount');
89+
cy.get('@menuCount').then((menuCount) => {
8690
// Swap elements within dropdown
8791
navigationMenuPage.dragAndDropElementOfDropdown(menuCount, 2, 0);
8892

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

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

20-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
20+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
21+
cy.get('@initialCount').then((initialCount) => {
2122
navigationMenuPage.collapseTemplates(1);
2223
navigationMenuPage.createCustomLink(customLink);
2324

@@ -38,7 +39,8 @@ describe('Navigation menu - Edit item', function () {
3839

3940
navigationMenuPage.collapseTemplates(1);
4041

41-
navigationMenuPage.getMenuItems().its('length').then(count => {
42+
navigationMenuPage.getMenuItems().its('length').as('count');
43+
cy.get('@count').then((count) => {
4244
navigationMenuPage.editCustomLink(customLink, count - 1);
4345

4446
cy.intercept('POST', '**/api/navigation-menu').as('saveMenu');
@@ -72,7 +74,8 @@ describe('Navigation menu - Edit item', function () {
7274
translations: ['test1', 'test2', 'test3']
7375
};
7476

75-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
77+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
78+
cy.get('@initialCount').then((initialCount) => {
7679
navigationMenuPage.collapseTemplates(1);
7780
navigationMenuPage.createCustomDropdown(dropdown);
7881

@@ -90,7 +93,8 @@ describe('Navigation menu - Edit item', function () {
9093
translations: ['Test11', 'Test22', 'Test31']
9194
};
9295

93-
navigationMenuPage.getMenuItems().its('length').then(count => {
96+
navigationMenuPage.getMenuItems().its('length').as('count');
97+
cy.get('@count').then((count) => {
9498
navigationMenuPage.editCustomDropdown(dropdown, count - 1);
9599

96100
cy.intercept('POST', '**/api/navigation-menu').as('saveMenu');
@@ -116,7 +120,8 @@ describe('Navigation menu - Edit item', function () {
116120
});
117121

118122
it('element must be moved from templates to list', () => {
119-
navigationMenuPage.getMenuItems().its('length').then(initialCount => {
123+
navigationMenuPage.getMenuItems().its('length').as('initialCount');
124+
cy.get('@initialCount').then((initialCount) => {
120125
navigationMenuPage.collapseTemplates(0);
121126
navigationMenuPage.createMenuItemFromTemplate(0);
122127

0 commit comments

Comments
 (0)