diff --git a/src/cron/isolated-agent.delivery.test-helpers.ts b/src/cron/isolated-agent.delivery.test-helpers.ts new file mode 100644 index 00000000000..be3bf03136c --- /dev/null +++ b/src/cron/isolated-agent.delivery.test-helpers.ts @@ -0,0 +1,29 @@ +import { vi } from "vitest"; +import { runEmbeddedPiAgent } from "../agents/pi-embedded.js"; +import type { CliDeps } from "../cli/deps.js"; + +export function createCliDeps(overrides: Partial = {}): CliDeps { + return { + sendMessageSlack: vi.fn(), + sendMessageWhatsApp: vi.fn(), + sendMessageTelegram: vi.fn(), + sendMessageDiscord: vi.fn(), + sendMessageSignal: vi.fn(), + sendMessageIMessage: vi.fn(), + ...overrides, + }; +} + +export function mockAgentPayloads( + payloads: Array>, + extra: Partial>> = {}, +): void { + vi.mocked(runEmbeddedPiAgent).mockResolvedValue({ + payloads, + meta: { + durationMs: 5, + agentMeta: { sessionId: "s", provider: "p", model: "m" }, + }, + ...extra, + }); +} diff --git a/src/cron/isolated-agent.direct-delivery-forum-topics.test.ts b/src/cron/isolated-agent.direct-delivery-forum-topics.test.ts index eda441b2001..a96ffdeb754 100644 --- a/src/cron/isolated-agent.direct-delivery-forum-topics.test.ts +++ b/src/cron/isolated-agent.direct-delivery-forum-topics.test.ts @@ -1,8 +1,7 @@ import "./isolated-agent.mocks.js"; -import { beforeEach, describe, expect, it, vi } from "vitest"; -import { runEmbeddedPiAgent } from "../agents/pi-embedded.js"; +import { beforeEach, describe, expect, it } from "vitest"; import { runSubagentAnnounceFlow } from "../agents/subagent-announce.js"; -import type { CliDeps } from "../cli/deps.js"; +import { createCliDeps, mockAgentPayloads } from "./isolated-agent.delivery.test-helpers.js"; import { runCronIsolatedAgentTurn } from "./isolated-agent.js"; import { makeCfg, @@ -12,28 +11,6 @@ import { } from "./isolated-agent.test-harness.js"; import { setupIsolatedAgentTurnMocks } from "./isolated-agent.test-setup.js"; -function createCliDeps(overrides: Partial = {}): CliDeps { - return { - sendMessageSlack: vi.fn(), - sendMessageWhatsApp: vi.fn(), - sendMessageTelegram: vi.fn(), - sendMessageDiscord: vi.fn(), - sendMessageSignal: vi.fn(), - sendMessageIMessage: vi.fn(), - ...overrides, - }; -} - -function mockAgentPayloads(payloads: Array>) { - vi.mocked(runEmbeddedPiAgent).mockResolvedValue({ - payloads, - meta: { - durationMs: 5, - agentMeta: { sessionId: "s", provider: "p", model: "m" }, - }, - }); -} - describe("runCronIsolatedAgentTurn forum topic delivery", () => { beforeEach(() => { setupIsolatedAgentTurnMocks(); diff --git a/src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts b/src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts index 065e5aaa3c8..3e0a30d34f4 100644 --- a/src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts +++ b/src/cron/isolated-agent.skips-delivery-without-whatsapp-recipient-besteffortdeliver-true.test.ts @@ -1,9 +1,9 @@ import "./isolated-agent.mocks.js"; import fs from "node:fs/promises"; import { beforeEach, describe, expect, it, vi } from "vitest"; -import { runEmbeddedPiAgent } from "../agents/pi-embedded.js"; import { runSubagentAnnounceFlow } from "../agents/subagent-announce.js"; import type { CliDeps } from "../cli/deps.js"; +import { createCliDeps, mockAgentPayloads } from "./isolated-agent.delivery.test-helpers.js"; import { runCronIsolatedAgentTurn } from "./isolated-agent.js"; import { makeCfg, @@ -13,32 +13,6 @@ import { } from "./isolated-agent.test-harness.js"; import { setupIsolatedAgentTurnMocks } from "./isolated-agent.test-setup.js"; -function createCliDeps(overrides: Partial = {}): CliDeps { - return { - sendMessageSlack: vi.fn(), - sendMessageWhatsApp: vi.fn(), - sendMessageTelegram: vi.fn(), - sendMessageDiscord: vi.fn(), - sendMessageSignal: vi.fn(), - sendMessageIMessage: vi.fn(), - ...overrides, - }; -} - -function mockAgentPayloads( - payloads: Array>, - extra: Partial>> = {}, -): void { - vi.mocked(runEmbeddedPiAgent).mockResolvedValue({ - payloads, - meta: { - durationMs: 5, - agentMeta: { sessionId: "s", provider: "p", model: "m" }, - }, - ...extra, - }); -} - async function runTelegramAnnounceTurn(params: { home: string; storePath: string;