From 73faa75be1139ed0cd4850bcd6563f87086c040d Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 8 May 2026 19:23:39 +0100 Subject: [PATCH] test: require browser async callbacks --- .../src/browser/cdp-proxy-bypass.test.ts | 7 +++++-- .../browser/src/browser/chrome-mcp.test.ts | 5 ++++- ...ols-core.interactions.evaluate.abort.test.ts | 5 ++++- .../video-generation-provider.test.ts | 17 +++++++++++++---- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/extensions/browser/src/browser/cdp-proxy-bypass.test.ts b/extensions/browser/src/browser/cdp-proxy-bypass.test.ts index 4ebe20093ad..bbcd4bd82af 100644 --- a/extensions/browser/src/browser/cdp-proxy-bypass.test.ts +++ b/extensions/browser/src/browser/cdp-proxy-bypass.test.ts @@ -13,12 +13,15 @@ beforeEach(() => { }); function createDeferred() { - let resolve!: (value: T | PromiseLike) => void; - let reject!: (reason?: unknown) => void; + let resolve: ((value: T | PromiseLike) => void) | undefined; + let reject: ((reason?: unknown) => void) | undefined; const promise = new Promise((res, rej) => { resolve = res; reject = rej; }); + if (!resolve || !reject) { + throw new Error("Expected deferred callbacks to be initialized"); + } return { promise, resolve, reject }; } diff --git a/extensions/browser/src/browser/chrome-mcp.test.ts b/extensions/browser/src/browser/chrome-mcp.test.ts index ddcce2cc8cb..b3f52de0939 100644 --- a/extensions/browser/src/browser/chrome-mcp.test.ts +++ b/extensions/browser/src/browser/chrome-mcp.test.ts @@ -349,10 +349,13 @@ describe("chrome MCP page parsing", () => { it("reuses a single pending session for concurrent requests", async () => { let factoryCalls = 0; - let releaseFactory!: () => void; + let releaseFactory: (() => void) | undefined; const factoryGate = new Promise((resolve) => { releaseFactory = resolve; }); + if (!releaseFactory) { + throw new Error("Expected Chrome MCP factory release callback to be initialized"); + } const factory: ChromeMcpSessionFactory = async () => { factoryCalls += 1; diff --git a/extensions/browser/src/browser/pw-tools-core.interactions.evaluate.abort.test.ts b/extensions/browser/src/browser/pw-tools-core.interactions.evaluate.abort.test.ts index e619aab3783..18430643db0 100644 --- a/extensions/browser/src/browser/pw-tools-core.interactions.evaluate.abort.test.ts +++ b/extensions/browser/src/browser/pw-tools-core.interactions.evaluate.abort.test.ts @@ -34,10 +34,13 @@ vi.mock("./pw-session.js", () => { const { evaluateViaPlaywright } = await import("./pw-tools-core.interactions.js"); function createPendingEval() { - let evalCalled!: () => void; + let evalCalled: (() => void) | undefined; const evalCalledPromise = new Promise((resolve) => { evalCalled = resolve; }); + if (!evalCalled) { + throw new Error("Expected evaluate callback to be initialized"); + } return { evalCalledPromise, resolveEvalCalled: evalCalled, diff --git a/extensions/openrouter/video-generation-provider.test.ts b/extensions/openrouter/video-generation-provider.test.ts index b1ee473bb7b..11216b0e6b9 100644 --- a/extensions/openrouter/video-generation-provider.test.ts +++ b/extensions/openrouter/video-generation-provider.test.ts @@ -96,6 +96,15 @@ function requireGeneratedVideo(result: OpenRouterVideoResult, index: number) { return video; } +function requireGeneratedVideoBuffer(result: OpenRouterVideoResult, index: number) { + const video = requireGeneratedVideo(result, index); + expect(video.buffer).toBeInstanceOf(Buffer); + if (!video.buffer) { + throw new Error(`expected OpenRouter generated video ${index} buffer`); + } + return { video, buffer: video.buffer }; +} + describe("openrouter video generation provider", () => { afterEach(() => { assertOkOrThrowHttpErrorMock.mockClear(); @@ -250,8 +259,8 @@ describe("openrouter video generation provider", () => { expect.objectContaining({ auditContext: "openrouter-video-download" }), ); expect(requireFetchCallHeaders(1).get("authorization")).toBe("Bearer openrouter-key"); - const video = requireGeneratedVideo(result, 0); - expect(video.buffer.toString()).toBe("mp4-bytes"); + const { video, buffer } = requireGeneratedVideoBuffer(result, 0); + expect(buffer.toString()).toBe("mp4-bytes"); expect(video.mimeType).toBe("video/mp4"); expect(result.metadata).toEqual({ jobId: "job-123", @@ -334,8 +343,8 @@ describe("openrouter video generation provider", () => { expect.any(Function), expect.objectContaining({ auditContext: "openrouter-video-download" }), ); - const video = requireGeneratedVideo(result, 0); - expect(video.buffer.toString()).toBe("webm-bytes"); + const { video, buffer } = requireGeneratedVideoBuffer(result, 0); + expect(buffer.toString()).toBe("webm-bytes"); expect(video.fileName).toBe("video-1.webm"); });