From 34ff873a7e46a3167a3f91ce888124cbcac8857d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 2 Mar 2026 17:30:22 +0000 Subject: [PATCH] test(perf): trim fixed waits in relay and startup tests --- extensions/diffs/index.test.ts | 1 + .../googlechat/src/channel.startup.test.ts | 10 +++------- extensions/line/src/channel.startup.test.ts | 19 +++++++++---------- .../src/channel.startup.test.ts | 9 +++------ src/browser/extension-relay.test.ts | 12 ++++++------ 5 files changed, 22 insertions(+), 29 deletions(-) diff --git a/extensions/diffs/index.test.ts b/extensions/diffs/index.test.ts index 19d12f9d660..ea0d179787b 100644 --- a/extensions/diffs/index.test.ts +++ b/extensions/diffs/index.test.ts @@ -71,6 +71,7 @@ describe("diffs plugin registration", () => { }, pluginConfig: { defaults: { + mode: "view", theme: "light", background: false, layout: "split", diff --git a/extensions/googlechat/src/channel.startup.test.ts b/extensions/googlechat/src/channel.startup.test.ts index abc086ce93a..4735ae811e4 100644 --- a/extensions/googlechat/src/channel.startup.test.ts +++ b/extensions/googlechat/src/channel.startup.test.ts @@ -48,18 +48,14 @@ describe("googlechatPlugin gateway.startAccount", () => { statusPatchSink: (next) => patches.push({ ...next }), }), ); - - await new Promise((resolve) => setTimeout(resolve, 20)); - let settled = false; void task.then(() => { settled = true; }); - - await new Promise((resolve) => setTimeout(resolve, 20)); + await vi.waitFor(() => { + expect(hoisted.startGoogleChatMonitor).toHaveBeenCalledOnce(); + }); expect(settled).toBe(false); - - expect(hoisted.startGoogleChatMonitor).toHaveBeenCalledOnce(); expect(unregister).not.toHaveBeenCalled(); abort.abort(); diff --git a/extensions/line/src/channel.startup.test.ts b/extensions/line/src/channel.startup.test.ts index 812636113cb..09722277b17 100644 --- a/extensions/line/src/channel.startup.test.ts +++ b/extensions/line/src/channel.startup.test.ts @@ -115,16 +115,15 @@ describe("linePlugin gateway.startAccount", () => { }), ); - // Allow async internals (probeLineBot await) to flush - await new Promise((r) => setTimeout(r, 20)); - - expect(monitorLineProvider).toHaveBeenCalledWith( - expect.objectContaining({ - channelAccessToken: "token", - channelSecret: "secret", - accountId: "default", - }), - ); + await vi.waitFor(() => { + expect(monitorLineProvider).toHaveBeenCalledWith( + expect.objectContaining({ + channelAccessToken: "token", + channelSecret: "secret", + accountId: "default", + }), + ); + }); abort.abort(); await task; diff --git a/extensions/nextcloud-talk/src/channel.startup.test.ts b/extensions/nextcloud-talk/src/channel.startup.test.ts index a15aa491606..7d806ee51b2 100644 --- a/extensions/nextcloud-talk/src/channel.startup.test.ts +++ b/extensions/nextcloud-talk/src/channel.startup.test.ts @@ -48,17 +48,14 @@ describe("nextcloudTalkPlugin gateway.startAccount", () => { abortSignal: abort.signal, }), ); - - await new Promise((resolve) => setTimeout(resolve, 20)); - let settled = false; void task.then(() => { settled = true; }); - - await new Promise((resolve) => setTimeout(resolve, 20)); + await vi.waitFor(() => { + expect(hoisted.monitorNextcloudTalkProvider).toHaveBeenCalledOnce(); + }); expect(settled).toBe(false); - expect(hoisted.monitorNextcloudTalkProvider).toHaveBeenCalledOnce(); expect(stop).not.toHaveBeenCalled(); abort.abort(); diff --git a/src/browser/extension-relay.test.ts b/src/browser/extension-relay.test.ts index ea4100e5d89..b80563ce90e 100644 --- a/src/browser/extension-relay.test.ts +++ b/src/browser/extension-relay.test.ts @@ -379,13 +379,13 @@ describe("chrome extension relay server", () => { ext1.close(); await ext1Closed; - await new Promise((r) => setTimeout(r, 200)); + await new Promise((r) => setTimeout(r, 80)); const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, { headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`), }); await waitForOpen(ext2); - await new Promise((r) => setTimeout(r, 200)); + await new Promise((r) => setTimeout(r, 80)); expect(cdpClosed).toBe(false); cdp.close(); @@ -480,7 +480,7 @@ describe("chrome extension relay server", () => { await ext1Closed; cdp.send(JSON.stringify({ id: 41, method: "Runtime.enable" })); - await new Promise((r) => setTimeout(r, 150)); + await new Promise((r) => setTimeout(r, 80)); const ext2 = new WebSocket(`ws://127.0.0.1:${port}/extension`, { headers: relayAuthHeaders(`ws://127.0.0.1:${port}/extension`), @@ -561,7 +561,7 @@ describe("chrome extension relay server", () => { ); ext.close(); - await new Promise((r) => setTimeout(r, 250)); + await new Promise((r) => setTimeout(r, 170)); const version = (await fetch(`${cdpUrl}/json/version`, { headers: relayAuthHeaders(cdpUrl), @@ -1019,7 +1019,7 @@ describe("chrome extension relay server", () => { const ext1Closed = waitForClose(ext1, 2_000); ext1.close(); await ext1Closed; - await new Promise((r) => setTimeout(r, 400)); + await new Promise((r) => setTimeout(r, 260)); const listEmpty = (await fetch(`${cdpUrl}/json/list`, { headers: relayAuthHeaders(cdpUrl), @@ -1103,7 +1103,7 @@ describe("chrome extension relay server", () => { const ext1Closed = waitForClose(ext1, 2_000); ext1.close(); await ext1Closed; - await new Promise((r) => setTimeout(r, 100)); + await new Promise((r) => setTimeout(r, 25)); // Tab should still be listed during grace period. const listDuringGrace = (await fetch(`${cdpUrl}/json/list`, {