From a34056b2bff10ec7032a5774a4e8f738f9f6ebfc Mon Sep 17 00:00:00 2001 From: Sebastian Martinez Date: Thu, 29 Aug 2024 10:11:04 +0200 Subject: [PATCH] Remove sinon in favor of existing APIs of playwright and vitest We where using `sinon` in the `playwright` tests to simulate a different time, which since `playwright@1.45.0` can be done with the Clock API calling `page.clock.setFixedTime`. And to test the mutex executor we can use the vitest utils spy function `vi.fn()` instead of `sinon.spy()` --- package-lock.json | 128 ----------------------- package.json | 2 - tests/e2e/repo/commit.spec.ts | 9 +- tests/e2e/repo/commits.spec.ts | 10 +- tests/support/fixtures.ts | 22 +--- tests/unit/mutexExecutor.test.ts | 9 +- tests/visual/desktop/cob.spec.ts | 9 +- tests/visual/desktop/landingPage.spec.ts | 13 +-- tests/visual/desktop/node.spec.ts | 10 +- tests/visual/desktop/repo.spec.ts | 28 +---- tests/visual/desktop/user.spec.ts | 10 +- tests/visual/mobile/cob.spec.ts | 9 +- tests/visual/mobile/repo.spec.ts | 19 +--- tests/visual/mobile/user.spec.ts | 10 +- 14 files changed, 19 insertions(+), 269 deletions(-) diff --git a/package-lock.json b/package-lock.json index 17de45644..d52de6c05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,7 +45,6 @@ "@types/lodash": "^4.17.7", "@types/md5": "^2.3.5", "@types/node": "^20.14.12", - "@types/sinon": "^17.0.3", "@types/wait-on": "^5.3.4", "@typescript-eslint/parser": "^8.3.0", "chalk": "^5.3.0", @@ -59,7 +58,6 @@ "happy-dom": "^15.0.0", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", - "sinon": "^18.0.0", "svelte-check": "^3.8.6", "svelte-eslint-parser": "^0.41.0", "typescript": "^5.5.4", @@ -1000,50 +998,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", - "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.0.tgz", - "integrity": "sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^2.0.0", - "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" - } - }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/text-encoding": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/@sinonjs/text-encoding/-/text-encoding-0.7.3.tgz", - "integrity": "sha512-DE427ROAphMQzU4ENbliGYrBSYPXF+TtLg9S8vzeA+OF4ZKzoDdzfL8sxuMUGS/lgRhM6j1URSk9ghf7Xo1tyA==", - "dev": true - }, "node_modules/@sveltejs/vite-plugin-svelte": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.2.tgz", @@ -1162,21 +1116,6 @@ "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", "dev": true }, - "node_modules/@types/sinon": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", - "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", - "dev": true, - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", - "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", - "dev": true - }, "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", @@ -2050,15 +1989,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/dompurify": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.6.tgz", @@ -3117,12 +3047,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/just-extend": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz", - "integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==", - "dev": true - }, "node_modules/katex": { "version": "0.16.11", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.11.tgz", @@ -3226,12 +3150,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -3578,19 +3496,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/nise": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-6.0.0.tgz", - "integrity": "sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", - "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", @@ -3749,12 +3654,6 @@ "node": ">=8" } }, - "node_modules/path-to-regexp": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", - "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", - "dev": true - }, "node_modules/pathe": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", @@ -4239,24 +4138,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/sinon": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz", - "integrity": "sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.1", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.2.0", - "nise": "^6.0.0", - "supports-color": "^7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" - } - }, "node_modules/sorcery": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.1.tgz", @@ -4665,15 +4546,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/typescript": { "version": "5.5.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", diff --git a/package.json b/package.json index c580ab097..6d569ad9d 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,6 @@ "@types/lodash": "^4.17.7", "@types/md5": "^2.3.5", "@types/node": "^20.14.12", - "@types/sinon": "^17.0.3", "@types/wait-on": "^5.3.4", "@typescript-eslint/parser": "^8.3.0", "chalk": "^5.3.0", @@ -44,7 +43,6 @@ "happy-dom": "^15.0.0", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", - "sinon": "^18.0.0", "svelte-check": "^3.8.6", "svelte-eslint-parser": "^0.41.0", "typescript": "^5.5.4", diff --git a/tests/e2e/repo/commit.spec.ts b/tests/e2e/repo/commit.spec.ts index ecfe67d91..d92a845aa 100644 --- a/tests/e2e/repo/commit.spec.ts +++ b/tests/e2e/repo/commit.spec.ts @@ -7,7 +7,6 @@ import { test, } from "@tests/support/fixtures.js"; import { changeBranch } from "@tests/support/repo"; -import sinon from "sinon"; const commitUrl = `${sourceBrowsingUrl}/commits/${bobHead}`; @@ -20,13 +19,7 @@ test("navigation from commit list", async ({ page }) => { }); test("relative timestamps", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("December 21 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); + await page.clock.setFixedTime(new Date("December 21 2022 12:00:00")); await page.goto(commitUrl); await expect( page.getByText(`Bob Belcher committed ${shortBobHead}`), diff --git a/tests/e2e/repo/commits.spec.ts b/tests/e2e/repo/commits.spec.ts index 6b37313cf..304bb3430 100644 --- a/tests/e2e/repo/commits.spec.ts +++ b/tests/e2e/repo/commits.spec.ts @@ -10,7 +10,6 @@ import { test, } from "@tests/support/fixtures.js"; import { changeBranch, createRepo } from "@tests/support/repo"; -import sinon from "sinon"; test("peer and branch switching", async ({ page }) => { await page.goto(sourceBrowsingUrl); @@ -149,14 +148,7 @@ test("expand commit message", async ({ page }) => { }); test("relative timestamps", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("December 21 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("December 21 2022 12:00:00")); await page.goto(sourceBrowsingUrl); await page .getByRole("link", { name: `Commits ${aliceMainCommitCount}` }) diff --git a/tests/support/fixtures.ts b/tests/support/fixtures.ts index 77e0a134a..50bd95518 100644 --- a/tests/support/fixtures.ts +++ b/tests/support/fixtures.ts @@ -5,7 +5,6 @@ import type * as Stream from "node:stream"; import * as Fs from "node:fs/promises"; import * as Path from "node:path"; -import { fileURLToPath } from "node:url"; import { test as base, expect } from "@playwright/test"; import { execa } from "execa"; @@ -32,14 +31,6 @@ export const test = base.extend<{ forAllTests: [ async ({ outputLog, page }, use) => { const browserLabel = logLabel.logPrefix("browser"); - let sinonPath = fileURLToPath(import.meta.resolve("sinon")); - // The exports in sinon-esm.js mess up our test pipeline - if (sinonPath.endsWith("-esm.js")) { - sinonPath = sinonPath.replace("-esm", ""); - } - await page.addInitScript({ - path: sinonPath, - }); page.on("console", msg => { // Ignore common console logs that we don't care about. if ( @@ -48,18 +39,7 @@ export const test = base.extend<{ msg.text().startsWith("Not able to parse url") || msg .text() - .includes("Please make sure it wasn't preloaded for nothing.") || - // @sinonjs/fake-timers uses a global variable called `timers` which - // is also used by node, so vite erronously detects this and shows a - // warning whenever we install fake timers in tests. We suppress the - // warning here to avoid clogging the logs. For more info see: - // - // https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility - msg - .text() - .startsWith( - 'Module "timers" has been externalized for browser compatibility.', - ) + .includes("Please make sure it wasn't preloaded for nothing.") ) { return; } diff --git a/tests/unit/mutexExecutor.test.ts b/tests/unit/mutexExecutor.test.ts index fb03e7149..e4d3017c6 100644 --- a/tests/unit/mutexExecutor.test.ts +++ b/tests/unit/mutexExecutor.test.ts @@ -1,5 +1,4 @@ -import * as sinon from "sinon"; -import { describe, expect, test } from "vitest"; +import { describe, expect, test, vi } from "vitest"; import * as mutexExecutor from "@app/lib/mutexExecutor"; import { sleep } from "@app/lib/sleep"; @@ -58,17 +57,17 @@ describe("executor", () => { test("triggers abort signal event", async () => { const e = mutexExecutor.create(); - const abortListener = sinon.spy(); + const abortListener = vi.fn(); void e.run(async abort => { abort.addEventListener("abort", abortListener); await sleep(10); return "first"; }); - expect(abortListener.called).toBe(false); + expect(abortListener).not.toHaveBeenCalled(); // eslint-disable-next-line @typescript-eslint/no-empty-function void e.run(async () => {}); - expect(abortListener.called).toBe(true); + expect(abortListener).toHaveBeenCalled(); }); test("don’t throw error on aborted task", async () => { diff --git a/tests/visual/desktop/cob.spec.ts b/tests/visual/desktop/cob.spec.ts index cf5cfb214..62cfcf9ce 100644 --- a/tests/visual/desktop/cob.spec.ts +++ b/tests/visual/desktop/cob.spec.ts @@ -1,14 +1,7 @@ import { test, expect, cobUrl } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test.beforeEach(async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); + await page.clock.setFixedTime(new Date("November 21 2022 12:00:00")); }); test("issues page", async ({ page }) => { diff --git a/tests/visual/desktop/landingPage.spec.ts b/tests/visual/desktop/landingPage.spec.ts index 08363c791..0fa3309d5 100644 --- a/tests/visual/desktop/landingPage.spec.ts +++ b/tests/visual/desktop/landingPage.spec.ts @@ -1,5 +1,4 @@ import { test, expect } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test("pinned repos", async ({ page }) => { await page.addInitScript(() => { @@ -7,13 +6,9 @@ test("pinned repos", async ({ page }) => { "configuredPreferredSeeds", JSON.stringify([{ hostname: "127.0.0.1", port: 8081, scheme: "http" }]), ); - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); }); + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto("/", { waitUntil: "networkidle" }); await expect(page).toHaveScreenshot(); }); @@ -24,13 +19,9 @@ test("load repos error", async ({ page }) => { "configuredPreferredSeeds", JSON.stringify([{ hostname: "127.0.0.1", port: 8081, scheme: "http" }]), ); - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); }); + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.route( ({ pathname }) => pathname === "/api/v1/repos", route => route.fulfill({ status: 500 }), diff --git a/tests/visual/desktop/node.spec.ts b/tests/visual/desktop/node.spec.ts index dbd6a6aa3..e2517eff6 100644 --- a/tests/visual/desktop/node.spec.ts +++ b/tests/visual/desktop/node.spec.ts @@ -1,15 +1,7 @@ import { test, expect } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test("node page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto("/nodes/radicle.local", { waitUntil: "networkidle" }); await expect(page).toHaveScreenshot(); }); diff --git a/tests/visual/desktop/repo.spec.ts b/tests/visual/desktop/repo.spec.ts index a7263ef48..46693a7e9 100644 --- a/tests/visual/desktop/repo.spec.ts +++ b/tests/visual/desktop/repo.spec.ts @@ -7,7 +7,6 @@ import { markdownUrl, sourceBrowsingRid, } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test("source page", async ({ page }) => { await page.goto(sourceBrowsingUrl, { waitUntil: "networkidle" }); @@ -15,14 +14,7 @@ test("source page", async ({ page }) => { }); test("history page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto( `${sourceBrowsingUrl}/remotes/${aliceRemote.substring(8)}/history`, { @@ -34,14 +26,7 @@ test("history page", async ({ page }) => { }); test("commit page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto( `${sourceBrowsingUrl}/remotes/${aliceRemote.substring( 8, @@ -52,14 +37,7 @@ test("commit page", async ({ page }) => { }); test("diff selection", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto(`${cobUrl}/patches`); await page .getByRole("link", { name: "Taking another stab at the README" }) diff --git a/tests/visual/desktop/user.spec.ts b/tests/visual/desktop/user.spec.ts index d91d8e243..c930f3270 100644 --- a/tests/visual/desktop/user.spec.ts +++ b/tests/visual/desktop/user.spec.ts @@ -4,17 +4,9 @@ import { aliceRemote, bobRemote, } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test("user page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto(`/nodes/radicle.local/users/${aliceRemote}`, { waitUntil: "networkidle", }); diff --git a/tests/visual/mobile/cob.spec.ts b/tests/visual/mobile/cob.spec.ts index f186498f1..a6ce1b39c 100644 --- a/tests/visual/mobile/cob.spec.ts +++ b/tests/visual/mobile/cob.spec.ts @@ -1,14 +1,7 @@ import { test, expect, cobUrl } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test.beforeEach(async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); }); test("issues page", async ({ page }) => { diff --git a/tests/visual/mobile/repo.spec.ts b/tests/visual/mobile/repo.spec.ts index a8ce42e6a..e75bd59d2 100644 --- a/tests/visual/mobile/repo.spec.ts +++ b/tests/visual/mobile/repo.spec.ts @@ -4,7 +4,6 @@ import { sourceBrowsingUrl, test, } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test("source tree page", async ({ page }) => { await page.goto(sourceBrowsingUrl, { waitUntil: "networkidle" }); @@ -12,14 +11,7 @@ test("source tree page", async ({ page }) => { }); test("commits page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto( `${sourceBrowsingUrl}/remotes/${aliceRemote.substring(8)}/history`, { @@ -31,14 +23,7 @@ test("commits page", async ({ page }) => { }); test("commit page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto( `${sourceBrowsingUrl}/remotes/${aliceRemote.substring( 8, diff --git a/tests/visual/mobile/user.spec.ts b/tests/visual/mobile/user.spec.ts index d91d8e243..c930f3270 100644 --- a/tests/visual/mobile/user.spec.ts +++ b/tests/visual/mobile/user.spec.ts @@ -4,17 +4,9 @@ import { aliceRemote, bobRemote, } from "@tests/support/fixtures.js"; -import sinon from "sinon"; test("user page", async ({ page }) => { - await page.addInitScript(() => { - sinon.useFakeTimers({ - now: new Date("November 24 2022 12:00:00").valueOf(), - shouldClearNativeTimers: true, - shouldAdvanceTime: false, - }); - }); - + await page.clock.setFixedTime(new Date("November 24 2022 12:00:00")); await page.goto(`/nodes/radicle.local/users/${aliceRemote}`, { waitUntil: "networkidle", });