From 9340bd800e53ab9334e7d1e50eb14a7091b91993 Mon Sep 17 00:00:00 2001 From: Anton Pidkuiko MacBook Date: Tue, 24 Feb 2026 16:57:18 +0000 Subject: [PATCH] =?UTF-8?q?test:=20add=20App=20=E2=86=92=20AppBridge=20int?= =?UTF-8?q?egration=20test=20for=20downloadFile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app-bridge.test.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/app-bridge.test.ts b/src/app-bridge.test.ts index 202b2ed..310e38e 100644 --- a/src/app-bridge.test.ts +++ b/src/app-bridge.test.ts @@ -712,6 +712,36 @@ describe("App <-> AppBridge integration", () => { expect(result.content).toEqual(resultContent); }); + it("ondownloadfile setter registers handler for ui/download-file requests", async () => { + const downloadParams = { + contents: [ + { + type: "resource" as const, + resource: { + uri: "file:///export.json", + mimeType: "application/json", + text: '{"key":"value"}', + }, + }, + ], + }; + const receivedRequests: unknown[] = []; + + bridge.ondownloadfile = async (params) => { + receivedRequests.push(params); + return {}; + }; + + await bridge.connect(bridgeTransport); + await app.connect(appTransport); + + const result = await app.downloadFile(downloadParams); + + expect(receivedRequests).toHaveLength(1); + expect(receivedRequests[0]).toMatchObject(downloadParams); + expect(result).toEqual({}); + }); + it("callServerTool throws a helpful error when called with a string instead of params object", async () => { await bridge.connect(bridgeTransport); await app.connect(appTransport);