From 9d10a2e242b6f3f1ebcfec9b83d6bafc6523c91e Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 27 Mar 2026 11:31:26 +0000 Subject: [PATCH] refactor: shrink remaining test seam reach-ins --- extensions/whatsapp/test-api.ts | 5 ++++ src/agents/ollama-models.test.ts | 2 +- .../contracts/inbound.contract.test.ts | 30 ++++++++++--------- .../registry-backed.contract.test.ts | 17 +---------- src/commands/ollama-setup.test.ts | 2 +- 5 files changed, 24 insertions(+), 32 deletions(-) diff --git a/extensions/whatsapp/test-api.ts b/extensions/whatsapp/test-api.ts index 49ea8ff67b4..a1e231f4a61 100644 --- a/extensions/whatsapp/test-api.ts +++ b/extensions/whatsapp/test-api.ts @@ -1 +1,6 @@ export { whatsappOutbound } from "./src/outbound-adapter.js"; +export { deliverWebReply } from "./src/auto-reply/deliver-reply.js"; +export { + trackBackgroundTask, + updateLastRouteInBackground, +} from "./src/auto-reply/monitor/last-route.js"; diff --git a/src/agents/ollama-models.test.ts b/src/agents/ollama-models.test.ts index 33f7847f8f8..fcfa77e1cab 100644 --- a/src/agents/ollama-models.test.ts +++ b/src/agents/ollama-models.test.ts @@ -3,7 +3,7 @@ import { enrichOllamaModelsWithContext, resolveOllamaApiBase, type OllamaTagModel, -} from "../../extensions/ollama/src/provider-models.js"; +} from "../../extensions/ollama/api.js"; import { jsonResponse, requestBodyText, requestUrl } from "../test-helpers/http.js"; describe("ollama-models", () => { diff --git a/src/channels/plugins/contracts/inbound.contract.test.ts b/src/channels/plugins/contracts/inbound.contract.test.ts index 6897e53df3e..986c4cdc67a 100644 --- a/src/channels/plugins/contracts/inbound.contract.test.ts +++ b/src/channels/plugins/contracts/inbound.contract.test.ts @@ -54,7 +54,7 @@ vi.mock("openclaw/plugin-sdk/conversation-runtime", async (importOriginal) => { }; }); -vi.mock("../../../../extensions/signal/src/send.js", () => ({ +vi.mock("../../../../extensions/signal/api.js", () => ({ sendMessageSignal: vi.fn(), sendTypingSignal: vi.fn(async () => true), sendReadReceiptSignal: vi.fn(async () => true), @@ -65,19 +65,21 @@ vi.mock("../../../pairing/pairing-store.js", () => ({ upsertChannelPairingRequest: vi.fn(), })); -vi.mock("../../../../extensions/whatsapp/src/auto-reply/monitor/last-route.js", () => ({ - trackBackgroundTask: (tasks: Set>, task: Promise) => { - tasks.add(task); - void task.finally(() => { - tasks.delete(task); - }); - }, - updateLastRouteInBackground: vi.fn(), -})); - -vi.mock("../../../../extensions/whatsapp/src/auto-reply/deliver-reply.js", () => ({ - deliverWebReply: vi.fn(async () => {}), -})); +vi.mock("../../../../extensions/whatsapp/test-api.js", async (importOriginal) => { + const actual = + await importOriginal(); + return { + ...actual, + trackBackgroundTask: (tasks: Set>, task: Promise) => { + tasks.add(task); + void task.finally(() => { + tasks.delete(task); + }); + }, + updateLastRouteInBackground: vi.fn(), + deliverWebReply: vi.fn(async () => {}), + }; +}); const { finalizeInboundContext } = await import("../../../auto-reply/reply/inbound-context.js"); diff --git a/src/channels/plugins/contracts/registry-backed.contract.test.ts b/src/channels/plugins/contracts/registry-backed.contract.test.ts index d785ffa406f..8c3ea8ef638 100644 --- a/src/channels/plugins/contracts/registry-backed.contract.test.ts +++ b/src/channels/plugins/contracts/registry-backed.contract.test.ts @@ -1,4 +1,4 @@ -import { beforeEach, describe, vi } from "vitest"; +import { beforeEach, describe } from "vitest"; import { __testing as discordThreadBindingTesting } from "../../../../extensions/discord/runtime-api.js"; import { feishuThreadBindingTesting } from "../../../../extensions/feishu/api.js"; import { resetMatrixThreadBindingsForTests } from "../../../../extensions/matrix/api.js"; @@ -25,21 +25,6 @@ import { installSessionBindingContractSuite, } from "./suites.js"; -vi.mock("../../../../extensions/matrix/src/matrix/send.js", async () => { - const actual = await vi.importActual< - typeof import("../../../../extensions/matrix/src/matrix/send.js") - >("../../../../extensions/matrix/src/matrix/send.js"); - return { - ...actual, - sendMessageMatrix: vi.fn( - async (_to: string, _message: string, opts?: { threadId?: string }) => ({ - messageId: opts?.threadId ? "$reply" : "$root", - roomId: "!room:example", - }), - ), - }; -}); - for (const entry of pluginContractRegistry) { describe(`${entry.id} plugin contract`, () => { installChannelPluginContractSuite({ diff --git a/src/commands/ollama-setup.test.ts b/src/commands/ollama-setup.test.ts index e26872e213d..3011912837c 100644 --- a/src/commands/ollama-setup.test.ts +++ b/src/commands/ollama-setup.test.ts @@ -3,7 +3,7 @@ import { configureOllamaNonInteractive, ensureOllamaModelPulled, promptAndConfigureOllama, -} from "../../extensions/ollama/src/setup.js"; +} from "../../extensions/ollama/api.js"; import type { RuntimeEnv } from "../runtime.js"; import { jsonResponse, requestBodyText, requestUrl } from "../test-helpers/http.js"; import type { WizardPrompter } from "../wizard/prompts.js";