From 39d8ff59aaec9628d361dec2451ca2c9f6be00d7 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 23 Jan 2026 06:21:50 +0000 Subject: [PATCH] test: trim plugin + telegram test setup --- src/plugins/loader.test.ts | 30 ++++++++++++++++++++++++++++-- src/telegram/bot.test.ts | 7 ++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/plugins/loader.test.ts b/src/plugins/loader.test.ts index b0aa1614a..f4c581486 100644 --- a/src/plugins/loader.test.ts +++ b/src/plugins/loader.test.ts @@ -98,8 +98,34 @@ describe("loadClawdbotPlugins", () => { expect(enabled?.status).toBe("loaded"); }); - it("loads bundled telegram plugin when enabled", { timeout: 120_000 }, () => { - process.env.CLAWDBOT_BUNDLED_PLUGINS_DIR = path.join(process.cwd(), "extensions"); + it("loads bundled telegram plugin when enabled", () => { + const bundledDir = makeTempDir(); + writePlugin({ + id: "telegram", + body: `export default { id: "telegram", register(api) { + api.registerChannel({ + plugin: { + id: "telegram", + meta: { + id: "telegram", + label: "Telegram", + selectionLabel: "Telegram", + docsPath: "/channels/telegram", + blurb: "telegram channel" + }, + capabilities: { chatTypes: ["direct"] }, + config: { + listAccountIds: () => [], + resolveAccount: () => ({ accountId: "default" }) + }, + outbound: { deliveryMode: "direct" } + } + }); +} };`, + dir: bundledDir, + filename: "telegram.ts", + }); + process.env.CLAWDBOT_BUNDLED_PLUGINS_DIR = bundledDir; const registry = loadClawdbotPlugins({ cache: false, diff --git a/src/telegram/bot.test.ts b/src/telegram/bot.test.ts index 0e10b9b54..51beb4f4b 100644 --- a/src/telegram/bot.test.ts +++ b/src/telegram/bot.test.ts @@ -6,7 +6,12 @@ import { listNativeCommandSpecs, listNativeCommandSpecsForConfig, } from "../auto-reply/commands-registry.js"; -import { listSkillCommandsForAgents } from "../auto-reply/skill-commands.js"; +const { listSkillCommandsForAgents } = vi.hoisted(() => ({ + listSkillCommandsForAgents: vi.fn(() => []), +})); +vi.mock("../auto-reply/skill-commands.js", () => ({ + listSkillCommandsForAgents, +})); import { resetInboundDedupe } from "../auto-reply/reply/inbound-dedupe.js"; import * as replyModule from "../auto-reply/reply.js"; import { expectInboundContextContract } from "../../test/helpers/inbound-contract.js";