From 9300d48244cac19478ef8132223d56a8b921844f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 1 May 2026 18:58:42 +0100 Subject: [PATCH] refactor: trim telegram test harness exports --- .../src/bot-message-context.route-test-support.ts | 15 ++++++++------- .../src/bot-native-commands.test-helpers.ts | 10 ---------- extensions/telegram/src/bot.media.e2e-harness.ts | 10 +++++----- .../telegram/src/draft-stream.test-helpers.ts | 2 +- .../telegram/src/target-writeback.test-shared.ts | 12 ++++++------ 5 files changed, 20 insertions(+), 29 deletions(-) diff --git a/extensions/telegram/src/bot-message-context.route-test-support.ts b/extensions/telegram/src/bot-message-context.route-test-support.ts index 379b14b6425..9de447beb97 100644 --- a/extensions/telegram/src/bot-message-context.route-test-support.ts +++ b/extensions/telegram/src/bot-message-context.route-test-support.ts @@ -9,9 +9,8 @@ type AsyncUnknownMock = Mock<(...args: unknown[]) => Promise>; type BuildTelegramMessageContextForTest = typeof import("./bot-message-context.test-harness.js").buildTelegramMessageContextForTest; type BuildTelegramMessageContextForTestParams = Parameters[0]; -type TelegramTestSessionRuntime = NonNullable< - import("./bot-message-context.types.js").BuildTelegramMessageContextParams["sessionRuntime"] ->; +type BuildTelegramMessageContextParams = + import("./bot-message-context.types.js").BuildTelegramMessageContextParams; const hoisted = vi.hoisted((): { recordInboundSessionMock: AsyncUnknownMock } => ({ recordInboundSessionMock: vi.fn().mockResolvedValue(undefined), @@ -19,15 +18,17 @@ const hoisted = vi.hoisted((): { recordInboundSessionMock: AsyncUnknownMock } => export const recordInboundSessionMock: AsyncUnknownMock = hoisted.recordInboundSessionMock; const finalizeInboundContextForTest = finalizeTelegramInboundContextForTest as NonNullable< - TelegramTestSessionRuntime["finalizeInboundContext"] + NonNullable["finalizeInboundContext"] >; const recordInboundSessionForTest: NonNullable< - TelegramTestSessionRuntime["recordInboundSession"] + NonNullable["recordInboundSession"] > = async (params) => { await recordInboundSessionMock(params); }; -export const telegramRouteTestSessionRuntime = { +export const telegramRouteTestSessionRuntime: NonNullable< + BuildTelegramMessageContextParams["sessionRuntime"] +> = { finalizeInboundContext: finalizeInboundContextForTest, readSessionUpdatedAt: () => undefined, recordInboundSession: recordInboundSessionForTest, @@ -35,7 +36,7 @@ export const telegramRouteTestSessionRuntime = { route.lastRoutePolicy === "main" ? route.mainSessionKey : sessionKey, resolvePinnedMainDmOwnerFromAllowlist: () => null, resolveStorePath: () => "/tmp/openclaw/session-store.json", -} satisfies TelegramTestSessionRuntime; +}; export async function loadTelegramMessageContextRouteHarness() { const { buildTelegramMessageContextForTest } = diff --git a/extensions/telegram/src/bot-native-commands.test-helpers.ts b/extensions/telegram/src/bot-native-commands.test-helpers.ts index 6cd6717501c..b4974bcb79e 100644 --- a/extensions/telegram/src/bot-native-commands.test-helpers.ts +++ b/extensions/telegram/src/bot-native-commands.test-helpers.ts @@ -4,7 +4,6 @@ import type { TelegramAccountConfig } from "openclaw/plugin-sdk/config-types"; import type { MockFn } from "openclaw/plugin-sdk/plugin-test-runtime"; import type { RuntimeEnv } from "openclaw/plugin-sdk/runtime-env"; import { vi } from "vitest"; -import { createNativeCommandTestParams } from "./bot-native-commands.fixture-test-support.js"; import type { RegisterTelegramNativeCommandsParams } from "./bot-native-commands.js"; import { registerTelegramNativeCommands } from "./bot-native-commands.js"; @@ -42,10 +41,6 @@ const pluginCommandMocks = vi.hoisted(() => ({ matchPluginCommand: vi.fn(() => null), executePluginCommand: vi.fn(async () => ({ text: "ok" })), })); -export const getPluginCommandSpecs = pluginCommandMocks.getPluginCommandSpecs; -export const matchPluginCommand = pluginCommandMocks.matchPluginCommand; -export const executePluginCommand = pluginCommandMocks.executePluginCommand; - vi.mock("openclaw/plugin-sdk/plugin-runtime", () => ({ getPluginCommandSpecs: pluginCommandMocks.getPluginCommandSpecs, matchPluginCommand: pluginCommandMocks.matchPluginCommand, @@ -74,13 +69,9 @@ const replyPipelineMocks = vi.hoisted(() => { getAgentScopedMediaLocalRoots: vi.fn(() => []), }; }); -export const dispatchReplyWithBufferedBlockDispatcher = - replyPipelineMocks.dispatchReplyWithBufferedBlockDispatcher; - const deliveryMocks = vi.hoisted(() => ({ deliverReplies: vi.fn(async () => {}), })); -export const deliverReplies = deliveryMocks.deliverReplies; vi.mock("./bot-native-commands.runtime.js", () => ({ getPluginCommandSpecs: pluginCommandMocks.getPluginCommandSpecs, @@ -120,7 +111,6 @@ vi.mock("openclaw/plugin-sdk/conversation-runtime", () => ({ })); vi.mock("./bot/delivery.js", () => ({ deliverReplies: deliveryMocks.deliverReplies })); vi.mock("./bot/delivery.replies.js", () => ({ deliverReplies: deliveryMocks.deliverReplies })); -export { createNativeCommandTestParams }; export function createNativeCommandsHarness(params?: { cfg?: OpenClawConfig; diff --git a/extensions/telegram/src/bot.media.e2e-harness.ts b/extensions/telegram/src/bot.media.e2e-harness.ts index 6696331fd9a..50a63a0b043 100644 --- a/extensions/telegram/src/bot.media.e2e-harness.ts +++ b/extensions/telegram/src/bot.media.e2e-harness.ts @@ -13,10 +13,10 @@ type DispatchReplyWithBufferedBlockDispatcherFn = type DispatchReplyHarnessParams = Parameters[0]; type FetchRemoteMediaFn = typeof import("openclaw/plugin-sdk/media-runtime").fetchRemoteMedia; -export const useSpy: Mock = vi.fn(); -export const middlewareUseSpy: Mock = vi.fn(); +const useSpy: Mock = vi.fn(); +const middlewareUseSpy: Mock = vi.fn(); export const onSpy: Mock = vi.fn(); -export const stopSpy: Mock = vi.fn(); +const stopSpy: Mock = vi.fn(); export const sendChatActionSpy: Mock = vi.fn(); function defaultUndiciFetch(input: RequestInfo | URL, init?: RequestInit) { @@ -25,7 +25,7 @@ function defaultUndiciFetch(input: RequestInfo | URL, init?: RequestInit) { export const undiciFetchSpy: Mock = vi.fn(defaultUndiciFetch); -export function resetUndiciFetchMock() { +function resetUndiciFetchMock() { undiciFetchSpy.mockReset(); undiciFetchSpy.mockImplementation(defaultUndiciFetch); } @@ -84,7 +84,7 @@ export function setNextSavedMediaPath(params: { ); } -export function resetSaveMediaBufferMock() { +function resetSaveMediaBufferMock() { saveMediaBufferSpy.mockReset(); saveMediaBufferSpy.mockImplementation(defaultSaveMediaBuffer); } diff --git a/extensions/telegram/src/draft-stream.test-helpers.ts b/extensions/telegram/src/draft-stream.test-helpers.ts index 1423381550b..94dd471c446 100644 --- a/extensions/telegram/src/draft-stream.test-helpers.ts +++ b/extensions/telegram/src/draft-stream.test-helpers.ts @@ -1,6 +1,6 @@ import { vi } from "vitest"; -export type TestDraftStream = { +type TestDraftStream = { update: ReturnType void>>; flush: ReturnType Promise>>; messageId: ReturnType number | undefined>>; diff --git a/extensions/telegram/src/target-writeback.test-shared.ts b/extensions/telegram/src/target-writeback.test-shared.ts index 5777165eff6..4e865f39648 100644 --- a/extensions/telegram/src/target-writeback.test-shared.ts +++ b/extensions/telegram/src/target-writeback.test-shared.ts @@ -4,15 +4,15 @@ import { beforeAll, beforeEach, describe, expect, it, vi, type Mock } from "vite type UnknownMock = Mock<(...args: unknown[]) => unknown>; type AsyncUnknownMock = Mock<(...args: unknown[]) => Promise>; -export const readConfigFileSnapshotForWrite: AsyncUnknownMock = vi.fn(); -export const writeConfigFile: AsyncUnknownMock = vi.fn(); -export const replaceConfigFile: AsyncUnknownMock = vi.fn(async (params: unknown) => { +const readConfigFileSnapshotForWrite: AsyncUnknownMock = vi.fn(); +const writeConfigFile: AsyncUnknownMock = vi.fn(); +const replaceConfigFile: AsyncUnknownMock = vi.fn(async (params: unknown) => { const record = params as { nextConfig?: unknown; writeOptions?: unknown }; await writeConfigFile(record.nextConfig, record.writeOptions); }); -export const loadCronStore: AsyncUnknownMock = vi.fn(); -export const resolveCronStorePath: UnknownMock = vi.fn(); -export const saveCronStore: AsyncUnknownMock = vi.fn(); +const loadCronStore: AsyncUnknownMock = vi.fn(); +const resolveCronStorePath: UnknownMock = vi.fn(); +const saveCronStore: AsyncUnknownMock = vi.fn(); vi.mock("openclaw/plugin-sdk/config-mutation", async () => { const actual = await vi.importActual(