From 13839c2dbd0396d8a582aa2c5c206d2efaff1b07 Mon Sep 17 00:00:00 2001 From: Altay Date: Wed, 11 Mar 2026 00:37:48 +0300 Subject: [PATCH] test(browser): use a real Response in 429 regression --- src/browser/client-fetch.loopback-auth.test.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/browser/client-fetch.loopback-auth.test.ts b/src/browser/client-fetch.loopback-auth.test.ts index 1fe4e3b5c02..7967d11c76e 100644 --- a/src/browser/client-fetch.loopback-auth.test.ts +++ b/src/browser/client-fetch.loopback-auth.test.ts @@ -139,11 +139,12 @@ describe("fetchBrowserJson loopback auth", () => { }); it("surfaces 429 from HTTP URL as rate-limit error with no-retry hint", async () => { - const text = vi.fn(async () => "max concurrent sessions exceeded"); - const cancel = vi.fn(async () => {}); + const response = new Response("max concurrent sessions exceeded", { status: 429 }); + const text = vi.spyOn(response, "text"); + const cancel = vi.spyOn(response.body!, "cancel").mockResolvedValue(undefined); vi.stubGlobal( "fetch", - vi.fn(async () => ({ ok: false, status: 429, text, body: { cancel } }) as Response), + vi.fn(async () => response), ); const thrown = await fetchBrowserJson<{ ok: boolean }>("http://127.0.0.1:18888/").catch(