Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 85fc07a

Browse files
authored
fix flakey ISR tests (#204)
* fix flakey ISR tests
1 parent 40c338a commit 85fc07a

File tree

4 files changed

+56
-46
lines changed

4 files changed

+56
-46
lines changed

packages/tests-e2e/tests/appPagesRouter/isr.test.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,21 @@ test("Incremental Static Regeneration", async ({ page }) => {
2222
} while (time !== newTime);
2323
await page.reload();
2424

25+
await wait(1000);
2526
el = page.getByText("ISR");
26-
newTime = await el.textContent();
27+
const midTime = await el.textContent();
28+
// Expect that the time is still stale
29+
expect(midTime).toEqual(newTime);
2730

28-
// Wait 10 seconds for ISR to regenerate time
29-
await wait(10000);
30-
await page.reload();
31-
await wait(5000);
32-
await page.reload();
33-
await wait(5000);
34-
await page.reload();
35-
el = page.getByText("ISR");
36-
newTime = await el.textContent();
31+
// Wait 10 + 1 seconds for ISR to regenerate time
32+
await wait(11000);
33+
let finalTime = newTime;
34+
do {
35+
await wait(2000);
36+
el = page.getByText("ISR");
37+
finalTime = await el.textContent();
38+
await page.reload();
39+
} while (newTime === finalTime);
3740

38-
expect(time).not.toEqual(newTime);
41+
expect(newTime).not.toEqual(finalTime);
3942
});

packages/tests-e2e/tests/appPagesRouter/pages_isr.test.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,21 @@ test("Incremental Static Regeneration", async ({ page }) => {
2323
tempTime = newTime;
2424
} while (time !== newTime);
2525
await page.reload();
26-
26+
await wait(1000);
2727
el = page.getByText("ISR");
28-
newTime = await el.textContent();
28+
const midTime = await el.textContent();
29+
// Expect that the time is still stale
30+
expect(midTime).toEqual(newTime);
2931

30-
// Wait 10 seconds for ISR to regenerate time
31-
await wait(15000);
32-
await page.reload();
33-
await wait(5000);
34-
await page.reload();
35-
await wait(5000);
36-
await page.reload();
37-
el = page.getByText("ISR");
38-
newTime = await el.textContent();
32+
// Wait 10 + 1 seconds for ISR to regenerate time
33+
await wait(11000);
34+
let finalTime = newTime;
35+
do {
36+
await wait(2000);
37+
el = page.getByText("ISR");
38+
finalTime = await el.textContent();
39+
await page.reload();
40+
} while (newTime === finalTime);
3941

40-
expect(time).not.toEqual(newTime);
42+
expect(newTime).not.toEqual(finalTime);
4143
});

packages/tests-e2e/tests/appRouter/isr.test.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,21 @@ test("Incremental Static Regeneration", async ({ page }) => {
2222
} while (time !== newTime);
2323
await page.reload();
2424

25+
await wait(1000);
2526
el = page.getByText("ISR");
26-
newTime = await el.textContent();
27+
const midTime = await el.textContent();
28+
// Expect that the time is still stale
29+
expect(midTime).toEqual(newTime);
2730

28-
// Wait 10 seconds for ISR to regenerate time
29-
await wait(15000);
30-
await page.reload();
31-
await wait(5000);
32-
await page.reload();
33-
await wait(5000);
34-
await page.reload();
35-
el = page.getByText("ISR");
36-
newTime = await el.textContent();
31+
// Wait 10 + 1 seconds for ISR to regenerate time
32+
await wait(11000);
33+
let finalTime = newTime;
34+
do {
35+
await wait(2000);
36+
el = page.getByText("ISR");
37+
finalTime = await el.textContent();
38+
await page.reload();
39+
} while (newTime === finalTime);
3740

38-
expect(time).not.toEqual(newTime);
41+
expect(newTime).not.toEqual(finalTime);
3942
});

packages/tests-e2e/tests/pagesRouter/isr.test.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,21 @@ test("Incremental Static Regeneration", async ({ page }) => {
2222
tempTime = newTime;
2323
} while (time !== newTime);
2424
await page.reload();
25-
25+
await wait(1000);
2626
el = page.getByText("ISR");
27-
newTime = await el.textContent();
27+
const midTime = await el.textContent();
28+
// Expect that the time is still stale
29+
expect(midTime).toEqual(newTime);
2830

29-
// Wait 10 seconds for ISR to regenerate time
30-
await wait(15000);
31-
await page.reload();
32-
await wait(5000);
33-
await page.reload();
34-
await wait(5000);
35-
await page.reload();
36-
el = page.getByText("ISR");
37-
newTime = await el.textContent();
31+
// Wait 10 + 1 seconds for ISR to regenerate time
32+
await wait(11000);
33+
let finalTime = newTime;
34+
do {
35+
await wait(2000);
36+
el = page.getByText("ISR");
37+
finalTime = await el.textContent();
38+
await page.reload();
39+
} while (newTime === finalTime);
3840

39-
expect(time).not.toEqual(newTime);
41+
expect(newTime).not.toEqual(finalTime);
4042
});

0 commit comments

Comments
 (0)