From 875858bbff1c1b886dddcf4e18a0de51a6d0814d Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Fri, 16 Oct 2026 22:53:32 +0300 Subject: [PATCH] test: cover non-retry of INVALID_TBANK_TOKEN reads (WealthLedger/backend#59) --- src/shared/api/client.test.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/shared/api/client.test.ts b/src/shared/api/client.test.ts index db15880..476cb17 100644 --- a/src/shared/api/client.test.ts +++ b/src/shared/api/client.test.ts @@ -281,6 +281,33 @@ describe("apiClient transient read recovery", () => { }, ); + it("does not retry a read refused with INVALID_TBANK_TOKEN", async () => { + let requests = 0; + server.use( + http.get("*/api/v1/brokerage-accounts", () => { + requests += 1; + + return HttpResponse.json( + { code: "INVALID_TBANK_TOKEN", status: 400 }, + { status: 400 }, + ); + }), + ); + configureAuthClient({ + accessToken: () => "token", + clear: vi.fn(), + refresh: () => Promise.resolve(false), + }); + + const { error, response } = await apiClient.GET( + "/api/v1/brokerage-accounts", + ); + + expect(response.status).toBe(400); + expect(error).toMatchObject({ code: "INVALID_TBANK_TOKEN" }); + expect(requests).toBe(1); + }); + it("does not retry mutations", async () => { let requests = 0; server.use( -- 2.54.0