From 403f6fd5c9732a48a7a225b476841bf90b140618 Mon Sep 17 00:00:00 2001 From: Chris Chudzicki Date: Mon, 25 Sep 2023 11:50:16 -0400 Subject: [PATCH 1/3] run test 100 times to check timeout issue on CI. --- .../learningpaths/LearningPathDetails.test.ts | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts b/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts index 4d2d8d4964..793638f8bf 100644 --- a/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts +++ b/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts @@ -96,20 +96,25 @@ describe("LearningPathDetailsPage", () => { }, ) - test("Clicking reorder makes items reorderable, clicking Done makes them static", async () => { - const path = factories.learningResources.learningPath() - setup({ path, userSettings: { is_learning_path_editor: true } }) - const reorderButton = await screen.findByRole("button", { name: "Reorder" }) - expectLastProps(spyItemsListing, { sortable: false }) - await user.click(reorderButton) - expectLastProps(spyItemsListing, { sortable: true }) + test.each(new Array(100).fill(null))( + "Clicking reorder makes items reorderable, clicking Done makes them static", + async () => { + const path = factories.learningResources.learningPath() + setup({ path, userSettings: { is_learning_path_editor: true } }) + const reorderButton = await screen.findByRole("button", { + name: "Reorder", + }) + expectLastProps(spyItemsListing, { sortable: false }) + await user.click(reorderButton) + expectLastProps(spyItemsListing, { sortable: true }) - const doneButton = await screen.findByRole("button", { - name: "Done ordering", - }) - await user.click(doneButton) - expectLastProps(spyItemsListing, { sortable: false }) - }) + const doneButton = await screen.findByRole("button", { + name: "Done ordering", + }) + await user.click(doneButton) + expectLastProps(spyItemsListing, { sortable: false }) + }, + ) it.each([ { From 9872300c735ed131f0bc0e8c571839aa85a85992 Mon Sep 17 00:00:00 2001 From: Chris Chudzicki Date: Mon, 25 Sep 2023 12:02:13 -0400 Subject: [PATCH 2/3] do not re-query for button --- .../src/pages/learningpaths/LearningPathDetails.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts b/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts index 793638f8bf..a131dd5278 100644 --- a/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts +++ b/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts @@ -108,10 +108,8 @@ describe("LearningPathDetailsPage", () => { await user.click(reorderButton) expectLastProps(spyItemsListing, { sortable: true }) - const doneButton = await screen.findByRole("button", { - name: "Done ordering", - }) - await user.click(doneButton) + expect(reorderButton).toHaveAccessibleName("Done ordering") + await user.click(reorderButton) expectLastProps(spyItemsListing, { sortable: false }) }, ) From 2ce81372b68f4edac78fa719a4302d1b7e022521 Mon Sep 17 00:00:00 2001 From: Chris Chudzicki Date: Mon, 25 Sep 2023 12:45:28 -0400 Subject: [PATCH 3/3] remove test repetition --- .../learningpaths/LearningPathDetails.test.ts | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts b/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts index a131dd5278..5f9de6c408 100644 --- a/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts +++ b/frontends/mit-open/src/pages/learningpaths/LearningPathDetails.test.ts @@ -96,23 +96,20 @@ describe("LearningPathDetailsPage", () => { }, ) - test.each(new Array(100).fill(null))( - "Clicking reorder makes items reorderable, clicking Done makes them static", - async () => { - const path = factories.learningResources.learningPath() - setup({ path, userSettings: { is_learning_path_editor: true } }) - const reorderButton = await screen.findByRole("button", { - name: "Reorder", - }) - expectLastProps(spyItemsListing, { sortable: false }) - await user.click(reorderButton) - expectLastProps(spyItemsListing, { sortable: true }) + test("Clicking reorder makes items reorderable, clicking Done makes them static", async () => { + const path = factories.learningResources.learningPath() + setup({ path, userSettings: { is_learning_path_editor: true } }) + const reorderButton = await screen.findByRole("button", { + name: "Reorder", + }) + expectLastProps(spyItemsListing, { sortable: false }) + await user.click(reorderButton) + expectLastProps(spyItemsListing, { sortable: true }) - expect(reorderButton).toHaveAccessibleName("Done ordering") - await user.click(reorderButton) - expectLastProps(spyItemsListing, { sortable: false }) - }, - ) + expect(reorderButton).toHaveAccessibleName("Done ordering") + await user.click(reorderButton) + expectLastProps(spyItemsListing, { sortable: false }) + }) it.each([ {