From e80fabbbddde15a822809af0f45e518ba6b82f24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C5=ABdolfs=20O=C5=A1i=C5=86=C5=A1?= Date: Mon, 19 Dec 2022 10:37:09 +0100 Subject: [PATCH] Fix flaky visual tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rūdolfs Ošiņš --- .gitignore | 1 + tests/e2e/project/commit.spec.ts | 2 +- tests/e2e/project/commits.spec.ts | 2 +- tests/visual/landingPage.spec.ts | 2 +- tests/visual/project.spec.ts | 28 ++++++++++++++++++++++++++-- tests/visual/seed.spec.ts | 2 +- 6 files changed, 31 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index b2f24f3a8..69209fd40 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ public/twemoji/*.svg # Integration Tests tests/tmp/**/* tests/artifacts/**/* +tests/visual/snapshots/**/* # Mac OS .DS_Store diff --git a/tests/e2e/project/commit.spec.ts b/tests/e2e/project/commit.spec.ts index b509bb353..ab8e828ef 100644 --- a/tests/e2e/project/commit.spec.ts +++ b/tests/e2e/project/commit.spec.ts @@ -13,7 +13,7 @@ test("navigation from commit list", async ({ page }) => { }); test("relative timestamps", async ({ page }) => { - page.addInitScript(() => { + await page.addInitScript(() => { window.initializeTestStubs = () => { window.e2eTestStubs.FakeTimers.install({ now: new Date("November 24 2022 12:00:00").valueOf(), diff --git a/tests/e2e/project/commits.spec.ts b/tests/e2e/project/commits.spec.ts index 92e0da7bb..104c1a9c8 100644 --- a/tests/e2e/project/commits.spec.ts +++ b/tests/e2e/project/commits.spec.ts @@ -98,7 +98,7 @@ test("verified badge", async ({ page }) => { }); test("relative timestamps", async ({ page }) => { - page.addInitScript(() => { + await page.addInitScript(() => { window.initializeTestStubs = () => { window.e2eTestStubs.FakeTimers.install({ now: new Date("November 24 2022 12:00:00").valueOf(), diff --git a/tests/visual/landingPage.spec.ts b/tests/visual/landingPage.spec.ts index 357727d69..527e45ba3 100644 --- a/tests/visual/landingPage.spec.ts +++ b/tests/visual/landingPage.spec.ts @@ -6,6 +6,6 @@ test.use({ test("landing page", async ({ page }) => { await page.addInitScript(appConfigWithFixture); - await page.goto("/"); + await page.goto("/", { waitUntil: "networkidle" }); await expect(page).toHaveScreenshot(); }); diff --git a/tests/visual/project.spec.ts b/tests/visual/project.spec.ts index 2667b55f2..157165813 100644 --- a/tests/visual/project.spec.ts +++ b/tests/visual/project.spec.ts @@ -1,18 +1,40 @@ import { test, expect, projectFixtureUrl } from "@tests/support/fixtures.js"; test("source tree page", async ({ page }) => { - await page.goto(projectFixtureUrl); + await page.goto(projectFixtureUrl, { waitUntil: "networkidle" }); await expect(page).toHaveScreenshot(); }); test("commits page", async ({ page }) => { + await page.addInitScript(() => { + window.initializeTestStubs = () => { + window.e2eTestStubs.FakeTimers.install({ + now: new Date("November 24 2022 12:00:00").valueOf(), + shouldClearNativeTimers: true, + shouldAdvanceTime: false, + }); + }; + }); + await page.goto( `${projectFixtureUrl}/remotes/hyn1mjueopwzrmb18c3zmgg8ei8qunn5wpg76ouymytfqkfxqx7bun/history`, + { waitUntil: "networkidle" }, ); + await expect(page).toHaveScreenshot({ fullPage: true }); }); test("commit page", async ({ page }) => { + await page.addInitScript(() => { + window.initializeTestStubs = () => { + window.e2eTestStubs.FakeTimers.install({ + now: new Date("November 24 2022 12:00:00").valueOf(), + shouldClearNativeTimers: true, + shouldAdvanceTime: false, + }); + }; + }); + await page.goto( `${projectFixtureUrl}/remotes/hyn1mjueopwzrmb18c3zmgg8ei8qunn5wpg76ouymytfqkfxqx7bun/commits/d6318f7f3d9c15b8ac6dd52267c53220d00f0982`, ); @@ -20,6 +42,8 @@ test("commit page", async ({ page }) => { }); test("markdown rendering", async ({ page }) => { - await page.goto(`${projectFixtureUrl}/tree/main/markdown/cheatsheet.md`); + await page.goto(`${projectFixtureUrl}/tree/main/markdown/cheatsheet.md`, { + waitUntil: "networkidle", + }); await expect(page).toHaveScreenshot({ fullPage: true }); }); diff --git a/tests/visual/seed.spec.ts b/tests/visual/seed.spec.ts index 6e7000c98..7fa0f49bf 100644 --- a/tests/visual/seed.spec.ts +++ b/tests/visual/seed.spec.ts @@ -1,6 +1,6 @@ import { test, expect } from "@tests/support/fixtures.js"; test("seed page", async ({ page }) => { - await page.goto("/seeds/radicle.local"); + await page.goto("/seeds/radicle.local", { waitUntil: "networkidle" }); await expect(page).toHaveScreenshot(); });