From 2b4d69a2106f9569642667c8bb625b0c205f0da3 Mon Sep 17 00:00:00 2001 From: wiiiii123 Date: Sat, 11 Jul 2026 11:22:22 +0700 Subject: [PATCH] test(extensions): cover malformed marketplace details --- electron/extensions/errorUtils.test.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/electron/extensions/errorUtils.test.ts b/electron/extensions/errorUtils.test.ts index 7e121411..5b834b3b 100644 --- a/electron/extensions/errorUtils.test.ts +++ b/electron/extensions/errorUtils.test.ts @@ -38,6 +38,28 @@ describe("formatMarketplaceHttpError", () => { ).toBe("Marketplace request failed (HTTP 409): Extension version already exists"); }); + it("prefers a string error when both JSON detail fields are present", () => { + expect( + formatMarketplaceHttpError({ + status: 400, + contentType: "application/json", + body: JSON.stringify({ error: "Primary detail", message: "Secondary detail" }), + }), + ).toBe("Marketplace request failed (HTTP 400): Primary detail"); + }); + + it("hides malformed JSON bodies", () => { + const body = '{"error":"internal route details"'; + const message = formatMarketplaceHttpError({ + status: 400, + contentType: "application/json", + body, + }); + + expect(message).toBe("Marketplace request failed (HTTP 400)."); + expect(message).not.toContain(body); + }); + it("bounds long JSON details and marks truncation without splitting Unicode", () => { const detail = `🚀${"x".repeat(200)}`; const message = formatMarketplaceHttpError({