From 85fc07ae1e52002574e435c4d618a56587cf8f4f Mon Sep 17 00:00:00 2001 From: khuezy Date: Thu, 31 Aug 2023 08:55:45 -0700 Subject: [PATCH] fix flakey ISR tests (#204) * fix flakey ISR tests --- .../tests/appPagesRouter/isr.test.ts | 25 ++++++++++-------- .../tests/appPagesRouter/pages_isr.test.ts | 26 ++++++++++--------- .../tests-e2e/tests/appRouter/isr.test.ts | 25 ++++++++++-------- .../tests-e2e/tests/pagesRouter/isr.test.ts | 26 ++++++++++--------- 4 files changed, 56 insertions(+), 46 deletions(-) diff --git a/packages/tests-e2e/tests/appPagesRouter/isr.test.ts b/packages/tests-e2e/tests/appPagesRouter/isr.test.ts index 0e47f97d6..60c46016b 100644 --- a/packages/tests-e2e/tests/appPagesRouter/isr.test.ts +++ b/packages/tests-e2e/tests/appPagesRouter/isr.test.ts @@ -22,18 +22,21 @@ test("Incremental Static Regeneration", async ({ page }) => { } while (time !== newTime); await page.reload(); + await wait(1000); el = page.getByText("ISR"); - newTime = await el.textContent(); + const midTime = await el.textContent(); + // Expect that the time is still stale + expect(midTime).toEqual(newTime); - // Wait 10 seconds for ISR to regenerate time - await wait(10000); - await page.reload(); - await wait(5000); - await page.reload(); - await wait(5000); - await page.reload(); - el = page.getByText("ISR"); - newTime = await el.textContent(); + // Wait 10 + 1 seconds for ISR to regenerate time + await wait(11000); + let finalTime = newTime; + do { + await wait(2000); + el = page.getByText("ISR"); + finalTime = await el.textContent(); + await page.reload(); + } while (newTime === finalTime); - expect(time).not.toEqual(newTime); + expect(newTime).not.toEqual(finalTime); }); diff --git a/packages/tests-e2e/tests/appPagesRouter/pages_isr.test.ts b/packages/tests-e2e/tests/appPagesRouter/pages_isr.test.ts index bb9af6cfd..d98ae9992 100644 --- a/packages/tests-e2e/tests/appPagesRouter/pages_isr.test.ts +++ b/packages/tests-e2e/tests/appPagesRouter/pages_isr.test.ts @@ -23,19 +23,21 @@ test("Incremental Static Regeneration", async ({ page }) => { tempTime = newTime; } while (time !== newTime); await page.reload(); - + await wait(1000); el = page.getByText("ISR"); - newTime = await el.textContent(); + const midTime = await el.textContent(); + // Expect that the time is still stale + expect(midTime).toEqual(newTime); - // Wait 10 seconds for ISR to regenerate time - await wait(15000); - await page.reload(); - await wait(5000); - await page.reload(); - await wait(5000); - await page.reload(); - el = page.getByText("ISR"); - newTime = await el.textContent(); + // Wait 10 + 1 seconds for ISR to regenerate time + await wait(11000); + let finalTime = newTime; + do { + await wait(2000); + el = page.getByText("ISR"); + finalTime = await el.textContent(); + await page.reload(); + } while (newTime === finalTime); - expect(time).not.toEqual(newTime); + expect(newTime).not.toEqual(finalTime); }); diff --git a/packages/tests-e2e/tests/appRouter/isr.test.ts b/packages/tests-e2e/tests/appRouter/isr.test.ts index 37f8d076e..e72eef12b 100644 --- a/packages/tests-e2e/tests/appRouter/isr.test.ts +++ b/packages/tests-e2e/tests/appRouter/isr.test.ts @@ -22,18 +22,21 @@ test("Incremental Static Regeneration", async ({ page }) => { } while (time !== newTime); await page.reload(); + await wait(1000); el = page.getByText("ISR"); - newTime = await el.textContent(); + const midTime = await el.textContent(); + // Expect that the time is still stale + expect(midTime).toEqual(newTime); - // Wait 10 seconds for ISR to regenerate time - await wait(15000); - await page.reload(); - await wait(5000); - await page.reload(); - await wait(5000); - await page.reload(); - el = page.getByText("ISR"); - newTime = await el.textContent(); + // Wait 10 + 1 seconds for ISR to regenerate time + await wait(11000); + let finalTime = newTime; + do { + await wait(2000); + el = page.getByText("ISR"); + finalTime = await el.textContent(); + await page.reload(); + } while (newTime === finalTime); - expect(time).not.toEqual(newTime); + expect(newTime).not.toEqual(finalTime); }); diff --git a/packages/tests-e2e/tests/pagesRouter/isr.test.ts b/packages/tests-e2e/tests/pagesRouter/isr.test.ts index 99886782f..f4f4d1345 100644 --- a/packages/tests-e2e/tests/pagesRouter/isr.test.ts +++ b/packages/tests-e2e/tests/pagesRouter/isr.test.ts @@ -22,19 +22,21 @@ test("Incremental Static Regeneration", async ({ page }) => { tempTime = newTime; } while (time !== newTime); await page.reload(); - + await wait(1000); el = page.getByText("ISR"); - newTime = await el.textContent(); + const midTime = await el.textContent(); + // Expect that the time is still stale + expect(midTime).toEqual(newTime); - // Wait 10 seconds for ISR to regenerate time - await wait(15000); - await page.reload(); - await wait(5000); - await page.reload(); - await wait(5000); - await page.reload(); - el = page.getByText("ISR"); - newTime = await el.textContent(); + // Wait 10 + 1 seconds for ISR to regenerate time + await wait(11000); + let finalTime = newTime; + do { + await wait(2000); + el = page.getByText("ISR"); + finalTime = await el.textContent(); + await page.reload(); + } while (newTime === finalTime); - expect(time).not.toEqual(newTime); + expect(newTime).not.toEqual(finalTime); });