Files
Moltbot/extensions/whatsapp/src/channel.test.ts
Tak Hoffman 87e6ce7c3a fix(extensions): synthesize mediaLocalRoots propagation across sendMedia adapters
Restore deterministic mediaLocalRoots propagation through extension sendMedia adapters and add coverage for local/remote media handling in Google Chat.

Synthesis of #33581, #33545, #33540, #33536, #33528.

Co-authored-by: bmendonca3 <bmendonca3@users.noreply.github.com>
2026-03-03 21:30:41 -06:00

42 lines
1.2 KiB
TypeScript

import { describe, expect, it, vi } from "vitest";
import { whatsappPlugin } from "./channel.js";
describe("whatsappPlugin outbound sendMedia", () => {
it("forwards mediaLocalRoots to sendMessageWhatsApp", async () => {
const sendWhatsApp = vi.fn(async () => ({
messageId: "msg-1",
toJid: "15551234567@s.whatsapp.net",
}));
const mediaLocalRoots = ["/tmp/workspace"];
const outbound = whatsappPlugin.outbound;
if (!outbound?.sendMedia) {
throw new Error("whatsapp outbound sendMedia is unavailable");
}
const result = await outbound.sendMedia({
cfg: {} as never,
to: "whatsapp:+15551234567",
text: "photo",
mediaUrl: "/tmp/workspace/photo.png",
mediaLocalRoots,
accountId: "default",
deps: { sendWhatsApp },
gifPlayback: false,
});
expect(sendWhatsApp).toHaveBeenCalledWith(
"whatsapp:+15551234567",
"photo",
expect.objectContaining({
verbose: false,
mediaUrl: "/tmp/workspace/photo.png",
mediaLocalRoots,
accountId: "default",
gifPlayback: false,
}),
);
expect(result).toMatchObject({ channel: "whatsapp", messageId: "msg-1" });
});
});