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";