| import { describe, expect, it, vi } from "vitest"; |
|
|
| import { expectInboundContextContract } from "../../../../test/helpers/inbound-contract.js"; |
|
|
| let capturedCtx: unknown; |
|
|
| vi.mock("../../../auto-reply/reply/provider-dispatcher.js", () => ({ |
| dispatchReplyWithBufferedBlockDispatcher: vi.fn(async (params: { ctx: unknown }) => { |
| capturedCtx = params.ctx; |
| return { queuedFinal: false }; |
| }), |
| })); |
|
|
| import { processMessage } from "./process-message.js"; |
|
|
| describe("web processMessage inbound contract", () => { |
| it("passes a finalized MsgContext to the dispatcher", async () => { |
| capturedCtx = undefined; |
|
|
| await processMessage({ |
| cfg: { messages: {} } as any, |
| msg: { |
| id: "msg1", |
| from: "123@g.us", |
| to: "+15550001111", |
| chatType: "group", |
| body: "hi", |
| senderName: "Alice", |
| senderJid: "alice@s.whatsapp.net", |
| senderE164: "+15550002222", |
| groupSubject: "Test Group", |
| groupParticipants: [], |
| } as any, |
| route: { |
| agentId: "main", |
| accountId: "default", |
| sessionKey: "agent:main:whatsapp:group:123", |
| } as any, |
| groupHistoryKey: "123@g.us", |
| groupHistories: new Map(), |
| groupMemberNames: new Map(), |
| connectionId: "conn", |
| verbose: false, |
| maxMediaBytes: 1, |
| replyResolver: (async () => undefined) as any, |
| replyLogger: { info: () => {}, warn: () => {}, error: () => {}, debug: () => {} } as any, |
| backgroundTasks: new Set(), |
| rememberSentText: (_text: string | undefined, _opts: unknown) => {}, |
| echoHas: () => false, |
| echoForget: () => {}, |
| buildCombinedEchoKey: () => "echo", |
| groupHistory: [], |
| } as any); |
|
|
| expect(capturedCtx).toBeTruthy(); |
| expectInboundContextContract(capturedCtx as any); |
| }); |
| }); |
|
|