Skip to content

Commit a9ecc6e

Browse files
tdonohuegithub-actions[bot]
authored andcommitted
Update item-edit e2e tests to ensure we wait on tabs to load before testing accessibility. Currently we're seeing random errors if the accessibility scan runs before tabs finish loading.
(cherry picked from commit 3dca9d9)
1 parent b9d53e1 commit a9ecc6e

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

cypress/e2e/item-edit.cy.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,11 @@ describe('Edit Item > Edit Metadata tab', () => {
2323
// <ds-edit-item-page> tag must be loaded
2424
cy.get('ds-edit-item-page').should('be.visible');
2525

26+
// wait for all the tabs to be rendered on this page
27+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
28+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
29+
});
30+
2631
// wait for all the ds-dso-edit-metadata-value components to be rendered
2732
cy.get('ds-dso-edit-metadata-value div[role="row"]').each(($row: HTMLDivElement) => {
2833
cy.wrap($row).find('div[role="cell"]').should('be.visible');
@@ -46,6 +51,11 @@ describe('Edit Item > Status tab', () => {
4651
// <ds-item-status> tag must be loaded
4752
cy.get('ds-item-status').should('be.visible');
4853

54+
// wait for all the tabs to be rendered on this page
55+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
56+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
57+
});
58+
4959
// Analyze for accessibility issues
5060
testA11y('ds-item-status');
5161
});
@@ -64,6 +74,10 @@ describe('Edit Item > Bitstreams tab', () => {
6474
// <ds-item-bitstreams> tag must be loaded
6575
cy.get('ds-item-bitstreams').should('be.visible');
6676

77+
// wait for all the tabs to be rendered on this page
78+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
79+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
80+
});
6781
// Table of item bitstreams must also be loaded
6882
cy.get('div.item-bitstreams').should('be.visible');
6983

@@ -93,6 +107,11 @@ describe('Edit Item > Curate tab', () => {
93107
// <ds-item-curate> tag must be loaded
94108
cy.get('ds-item-curate').should('be.visible');
95109

110+
// wait for all the tabs to be rendered on this page
111+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
112+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
113+
});
114+
96115
// Analyze for accessibility issues
97116
testA11y('ds-item-curate');
98117
});
@@ -111,6 +130,11 @@ describe('Edit Item > Relationships tab', () => {
111130
// <ds-item-relationships> tag must be loaded
112131
cy.get('ds-item-relationships').should('be.visible');
113132

133+
// wait for all the tabs to be rendered on this page
134+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
135+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
136+
});
137+
114138
// Analyze for accessibility issues
115139
testA11y('ds-item-relationships');
116140
});
@@ -129,6 +153,11 @@ describe('Edit Item > Version History tab', () => {
129153
// <ds-item-version-history> tag must be loaded
130154
cy.get('ds-item-version-history').should('be.visible');
131155

156+
// wait for all the tabs to be rendered on this page
157+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
158+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
159+
});
160+
132161
// Analyze for accessibility issues
133162
testA11y('ds-item-version-history');
134163
});
@@ -147,6 +176,11 @@ describe('Edit Item > Access Control tab', () => {
147176
// <ds-item-access-control> tag must be loaded
148177
cy.get('ds-item-access-control').should('be.visible');
149178

179+
// wait for all the tabs to be rendered on this page
180+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
181+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
182+
});
183+
150184
// Analyze for accessibility issues
151185
testA11y('ds-item-access-control');
152186
});
@@ -165,6 +199,11 @@ describe('Edit Item > Collection Mapper tab', () => {
165199
// <ds-item-collection-mapper> tag must be loaded
166200
cy.get('ds-item-collection-mapper').should('be.visible');
167201

202+
// wait for all the tabs to be rendered on this page
203+
cy.get('ds-edit-item-page ul[role="tablist"]').each(($row: HTMLUListElement) => {
204+
cy.wrap($row).find('a[role="tab"]').should('be.visible');
205+
});
206+
168207
// Analyze entire page for accessibility issues
169208
testA11y('ds-item-collection-mapper');
170209

0 commit comments

Comments
 (0)