Skip to content

Commit 52cc116

Browse files
authored
Merge pull request #5518 from tdonohue/stabilize_item-edit
[e2e tests] Attempt to enhance stability of `item-edit.cy.ts`
2 parents 49fe742 + 3dca9d9 commit 52cc116

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

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)