From aa488e90d0d62fed96ea0ac7594cc1b9cbc5a8b1 Mon Sep 17 00:00:00 2001 From: B <6723574+louisgv@users.noreply.github.com> Date: Tue, 5 May 2026 06:59:28 +0000 Subject: [PATCH] fix(tests): filter unrelated fetch calls in DO/Hetzner mocks PostHog telemetry fires fetch calls during parallel test execution, polluting callCount in tests that mock globalThis.fetch. Filter by URL to only count calls to the relevant API domain. Co-Authored-By: Claude Sonnet 4.6 --- packages/cli/src/__tests__/digitalocean-token.test.ts | 10 +++++++++- packages/cli/src/__tests__/hetzner-cov.test.ts | 11 ++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/__tests__/digitalocean-token.test.ts b/packages/cli/src/__tests__/digitalocean-token.test.ts index e0d329129..86e991e1e 100644 --- a/packages/cli/src/__tests__/digitalocean-token.test.ts +++ b/packages/cli/src/__tests__/digitalocean-token.test.ts @@ -90,8 +90,16 @@ describe("doApi 401 OAuth recovery", () => { state.token = "expired-token"; let callCount = 0; globalThis.fetch = mock((url: string | URL | Request) => { - callCount++; const urlStr = String(url); + // Ignore unrelated fetch calls (e.g. telemetry) that may fire in parallel + if (!urlStr.includes("digitalocean")) { + return Promise.resolve( + new Response("", { + status: 200, + }), + ); + } + callCount++; // First call: the actual API call returning 401 if (callCount === 1) { return Promise.resolve( diff --git a/packages/cli/src/__tests__/hetzner-cov.test.ts b/packages/cli/src/__tests__/hetzner-cov.test.ts index ed1c050f1..1c57e4b85 100644 --- a/packages/cli/src/__tests__/hetzner-cov.test.ts +++ b/packages/cli/src/__tests__/hetzner-cov.test.ts @@ -586,7 +586,16 @@ describe("hetzner/createServer", () => { }, }; let callCount = 0; - global.fetch = mock(() => { + global.fetch = mock((url: string | URL | Request) => { + const urlStr = String(url); + // Ignore unrelated fetch calls (e.g. telemetry) that may fire in parallel + if (!urlStr.includes("hetzner")) { + return Promise.resolve( + new Response("", { + status: 200, + }), + ); + } callCount++; if (callCount <= 1) { // Token validation