Skip to content

Commit 8a9a74b

Browse files
committed
Refactor cypress tests to fix retryability flaking
1 parent c22757a commit 8a9a74b

File tree

4 files changed

+167
-171
lines changed

4 files changed

+167
-171
lines changed

cypress/e2e/course/coordinator-course.cy.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ before(() => {
88
*/
99
const timeStringToDate = (time: string): Date => {
1010
// extract hours, minutes, am/pm
11-
const [_, hours_str, minutes, ampm] = time.match(/(\d\d?):(\d\d) (AM|PM)/);
11+
const [, hours_str, minutes, ampm] = time.match(/(\d\d?):(\d\d) (AM|PM)/);
1212

1313
let hours = parseInt(hours_str);
1414
if (ampm === "PM" && hours !== 12) {
@@ -24,7 +24,7 @@ const timeStringToDate = (time: string): Date => {
2424
/**
2525
* Check that the capacity of a section card is as expected
2626
*/
27-
const checkCapacity = (text: string, isFull: boolean = false) => {
27+
const checkCapacity = (text: string, isFull = false) => {
2828
const groups = text.trim().match(/^(\d+)\/(\d+)$/i);
2929
if (isFull) {
3030
expect(parseInt(groups[1]) / parseInt(groups[2])).to.be.eq(1);

cypress/e2e/course/restricted-courses.cy.ts

+14-19
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,13 @@ describe("whitelisted courses", () => {
9393
cy.contains(".csm-btn", /cs61a/i).should("be.visible");
9494

9595
// view unrestricted courses; should show nothing
96-
cy.contains(".course-menu-sidebar-tab", /unrestricted/i)
97-
.click()
98-
.should("have.class", "active");
96+
cy.contains(".course-menu-sidebar-tab", /unrestricted/i).click();
97+
cy.contains(".course-menu-sidebar-tab", /unrestricted/i).should("have.class", "active");
9998
cy.contains(".csm-btn", /cs61a/i).should("not.exist");
10099

101100
// go to cs61a sections
102-
cy.contains(".course-menu-sidebar-tab", /restricted/i)
103-
.click()
104-
.should("have.class", "active");
101+
cy.contains(".course-menu-sidebar-tab", /restricted/i).click();
102+
cy.contains(".course-menu-sidebar-tab", /restricted/i).should("have.class", "active");
105103
cy.contains(".csm-btn", /cs61a/i).click();
106104
cy.get(".section-card").should("have.length", 1).should("be.visible");
107105

@@ -145,16 +143,14 @@ describe("whitelisted courses", () => {
145143
cy.contains(".csm-btn", /cs70/i).should("not.exist");
146144

147145
// view unrestricted courses; should show cs70, but not cs61a
148-
cy.contains(".course-menu-sidebar-tab", /unrestricted/i)
149-
.click()
150-
.should("have.class", "active");
146+
cy.contains(".course-menu-sidebar-tab", /unrestricted/i).click();
147+
cy.contains(".course-menu-sidebar-tab", /unrestricted/i).should("have.class", "active");
151148
cy.contains(".csm-btn", /cs61a/i).should("not.exist");
152149
cy.contains(".csm-btn", /cs70/i).should("be.visible");
153150

154151
// go to cs61a sections
155-
cy.contains(".course-menu-sidebar-tab", /restricted/i)
156-
.click()
157-
.should("have.class", "active");
152+
cy.contains(".course-menu-sidebar-tab", /restricted/i).click();
153+
cy.contains(".course-menu-sidebar-tab", /restricted/i).should("have.class", "active");
158154
cy.contains(".csm-btn", /cs61a/i).click();
159155
cy.get(".section-card").should("have.length", 1).should("be.visible");
160156

@@ -229,18 +225,16 @@ describe("whitelisted courses", () => {
229225
cy.contains(".enrollment-container .enrollment-course", /cs61a/i).should("be.visible");
230226

231227
// view unrestricted courses; should show cs70, but not cs61a
232-
cy.contains(".course-menu-sidebar-tab", /unrestricted/i)
233-
.click()
234-
.should("have.class", "active");
228+
cy.contains(".course-menu-sidebar-tab", /unrestricted/i).click();
229+
cy.contains(".course-menu-sidebar-tab", /unrestricted/i).should("have.class", "active");
235230
cy.contains(".csm-btn", /cs61a/i).should("not.exist");
236231
cy.contains(".csm-btn", /cs70/i).should("be.visible");
237232
// should not show any enrollment times
238233
cy.get(".enrollment-container").should("not.exist");
239234

240235
// go to cs61a sections
241-
cy.contains(".course-menu-sidebar-tab", /restricted/i)
242-
.click()
243-
.should("have.class", "active");
236+
cy.contains(".course-menu-sidebar-tab", /restricted/i).click();
237+
cy.contains(".course-menu-sidebar-tab", /restricted/i).should("have.class", "active");
244238
cy.contains(".csm-btn", /cs61a/i).click();
245239
cy.get(".section-card").should("have.length", 1).should("be.visible");
246240

@@ -270,7 +264,8 @@ describe("whitelisted courses", () => {
270264
.should("match", /enrollment failed/i);
271265

272266
// dismiss modal
273-
cy.contains(".modal-contents .modal-btn", /ok/i).click().should("not.exist");
267+
cy.contains(".modal-contents .modal-btn", /ok/i).click();
268+
cy.get(".modal-contents").should("not.exist");
274269

275270
// go back to home page
276271
cy.visit("/");

0 commit comments

Comments
 (0)