From 663ac49b3a8432b1dab2155351bec84d34775087 Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Sun, 15 Feb 2026 11:19:34 -0500 Subject: [PATCH] test: cover outbound send agent-id forwarding --- .../outbound/outbound-send-service.test.ts | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/infra/outbound/outbound-send-service.test.ts diff --git a/src/infra/outbound/outbound-send-service.test.ts b/src/infra/outbound/outbound-send-service.test.ts new file mode 100644 index 00000000000..b8b44410c4d --- /dev/null +++ b/src/infra/outbound/outbound-send-service.test.ts @@ -0,0 +1,55 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +const mocks = vi.hoisted(() => ({ + dispatchChannelMessageAction: vi.fn(), + sendMessage: vi.fn(), +})); + +vi.mock("../../channels/plugins/message-actions.js", () => ({ + dispatchChannelMessageAction: (...args: unknown[]) => mocks.dispatchChannelMessageAction(...args), +})); + +vi.mock("./message.js", () => ({ + sendMessage: (...args: unknown[]) => mocks.sendMessage(...args), + sendPoll: vi.fn(), +})); + +import { executeSendAction } from "./outbound-send-service.js"; + +describe("executeSendAction", () => { + beforeEach(() => { + mocks.dispatchChannelMessageAction.mockReset(); + mocks.sendMessage.mockReset(); + }); + + it("forwards ctx.agentId to sendMessage on core outbound path", async () => { + mocks.dispatchChannelMessageAction.mockResolvedValue(null); + mocks.sendMessage.mockResolvedValue({ + channel: "discord", + to: "channel:123", + via: "direct", + mediaUrl: null, + }); + + await executeSendAction({ + ctx: { + cfg: {}, + channel: "discord", + params: {}, + agentId: "work", + dryRun: false, + }, + to: "channel:123", + message: "hello", + }); + + expect(mocks.sendMessage).toHaveBeenCalledWith( + expect.objectContaining({ + agentId: "work", + channel: "discord", + to: "channel:123", + content: "hello", + }), + ); + }); +});