diff --git a/src/web/auto-reply.test-harness.ts b/src/web/auto-reply.test-harness.ts index 676042436fa..0e7b0c7e3a7 100644 --- a/src/web/auto-reply.test-harness.ts +++ b/src/web/auto-reply.test-harness.ts @@ -6,7 +6,7 @@ import { afterAll, afterEach, beforeAll, beforeEach, vi } from "vitest"; import { resetInboundDedupe } from "../auto-reply/reply/inbound-dedupe.js"; import * as ssrf from "../infra/net/ssrf.js"; import { resetLogger, setLoggerOverride } from "../logging.js"; -import type { WebInboundMessage } from "./inbound.js"; +import type { WebInboundMessage, WebListenerCloseReason } from "./inbound.js"; import { resetBaileysMocks as _resetBaileysMocks, resetLoadConfigMock as _resetLoadConfigMock, @@ -17,6 +17,15 @@ export { resetBaileysMocks, resetLoadConfigMock, setLoadConfigMock } from "./tes // Avoid exporting inferred vitest mock types (TS2742 under pnpm + d.ts emit). // oxlint-disable-next-line typescript/no-explicit-any type AnyExport = any; +type MockWebListener = { + close: () => Promise; + onClose: Promise; + signalClose: () => void; + sendMessage: () => Promise<{ messageId: string }>; + sendPoll: () => Promise<{ messageId: string }>; + sendReaction: () => Promise; + sendComposingTo: () => Promise; +}; export const TEST_NET_IP = "203.0.113.10"; @@ -162,10 +171,10 @@ export function createWebListenerFactoryCapture(): AnyExport { }; } -export function createMockWebListener() { +export function createMockWebListener(): MockWebListener { return { close: vi.fn(async () => undefined), - onClose: new Promise(() => {}), + onClose: new Promise(() => {}), signalClose: vi.fn(), sendMessage: vi.fn(async () => ({ messageId: "msg-1" })), sendPoll: vi.fn(async () => ({ messageId: "poll-1" })),