openskynet / src /channels /plugins /outbound /signal.test.ts
Darochin's picture
Mirror OpenSkyNet workspace snapshot from Git HEAD
fc93158 verified
import { describe, expect, it, vi } from "vitest";
import type { OpenClawConfig } from "../../../config/config.js";
import { signalOutbound } from "./signal.js";
describe("signalOutbound", () => {
const cfg: OpenClawConfig = {
channels: {
signal: {
mediaMaxMb: 8,
accounts: {
work: {
mediaMaxMb: 4,
},
},
},
},
};
it("passes account-scoped maxBytes for sendText", async () => {
const sendSignal = vi.fn().mockResolvedValue({ messageId: "sig-text-1", timestamp: 123 });
const sendText = signalOutbound.sendText;
expect(sendText).toBeDefined();
const result = await sendText!({
cfg,
to: "+15555550123",
text: "hello",
accountId: "work",
deps: { sendSignal },
});
expect(sendSignal).toHaveBeenCalledWith(
"+15555550123",
"hello",
expect.objectContaining({
accountId: "work",
maxBytes: 4 * 1024 * 1024,
}),
);
expect(result).toEqual({ channel: "signal", messageId: "sig-text-1", timestamp: 123 });
});
it("passes mediaUrl/mediaLocalRoots for sendMedia", async () => {
const sendSignal = vi.fn().mockResolvedValue({ messageId: "sig-media-1", timestamp: 456 });
const sendMedia = signalOutbound.sendMedia;
expect(sendMedia).toBeDefined();
const result = await sendMedia!({
cfg,
to: "+15555550124",
text: "caption",
mediaUrl: "https://example.com/file.jpg",
mediaLocalRoots: ["/tmp/media"],
accountId: "default",
deps: { sendSignal },
});
expect(sendSignal).toHaveBeenCalledWith(
"+15555550124",
"caption",
expect.objectContaining({
mediaUrl: "https://example.com/file.jpg",
mediaLocalRoots: ["/tmp/media"],
accountId: "default",
maxBytes: 8 * 1024 * 1024,
}),
);
expect(result).toEqual({ channel: "signal", messageId: "sig-media-1", timestamp: 456 });
});
});