From af30c02ca5adeea17c7e0e3b7d820cca1b962baa Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 12 May 2026 01:02:59 +0100 Subject: [PATCH] test: guard browser loopback mock calls --- .../client-fetch.loopback-auth.test.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/extensions/browser/src/browser/client-fetch.loopback-auth.test.ts b/extensions/browser/src/browser/client-fetch.loopback-auth.test.ts index 4bc6e8300fe..e207e60924c 100644 --- a/extensions/browser/src/browser/client-fetch.loopback-auth.test.ts +++ b/extensions/browser/src/browser/client-fetch.loopback-auth.test.ts @@ -87,6 +87,15 @@ function stubJsonFetchOk() { return fetchMock; } +function requireFetchInit(fetchMock: ReturnType) { + const [call] = fetchMock.mock.calls; + if (!call) { + throw new Error("expected browser fetch call"); + } + const [, init] = call; + return init; +} + async function expectThrownBrowserFetchError( request: () => Promise, params: { @@ -150,7 +159,7 @@ describe("fetchBrowserJson loopback auth", () => { const res = await fetchBrowserJson<{ ok: boolean }>("http://127.0.0.1:18888/"); expect(res.ok).toBe(true); - const init = fetchMock.mock.calls[0]?.[1]; + const init = requireFetchInit(fetchMock); const headers = new Headers(init?.headers); expect(headers.get("authorization")).toBe("Bearer loopback-token"); }); @@ -160,7 +169,7 @@ describe("fetchBrowserJson loopback auth", () => { await fetchBrowserJson<{ ok: boolean }>("http://example.com/"); - const init = fetchMock.mock.calls[0]?.[1]; + const init = requireFetchInit(fetchMock); const headers = new Headers(init?.headers); expect(headers.get("authorization")).toBeNull(); }); @@ -174,7 +183,7 @@ describe("fetchBrowserJson loopback auth", () => { }, }); - const init = fetchMock.mock.calls[0]?.[1]; + const init = requireFetchInit(fetchMock); const headers = new Headers(init?.headers); expect(headers.get("authorization")).toBe("Bearer caller-token"); }); @@ -184,7 +193,7 @@ describe("fetchBrowserJson loopback auth", () => { await fetchBrowserJson<{ ok: boolean }>("http://[::1]:18888/"); - const init = fetchMock.mock.calls[0]?.[1]; + const init = requireFetchInit(fetchMock); const headers = new Headers(init?.headers); expect(headers.get("authorization")).toBe("Bearer loopback-token"); }); @@ -194,7 +203,7 @@ describe("fetchBrowserJson loopback auth", () => { await fetchBrowserJson<{ ok: boolean }>("http://[::ffff:127.0.0.1]:18888/"); - const init = fetchMock.mock.calls[0]?.[1]; + const init = requireFetchInit(fetchMock); const headers = new Headers(init?.headers); expect(headers.get("authorization")).toBe("Bearer loopback-token"); });