mirror of
https://github.com/hanzoai/bot.git
synced 2026-11-01 07:38:30 +00:00
The automated rebrand sed script replaced "OpenClaw" with "Hanzo Bot" (with space) instead of "HanzoBot" in 8,315 TypeScript identifier occurrences across 1,632 files. This fixes all broken class names, type names, function names, and variable names. Co-authored-by: Hanzo Dev <[email protected]>
70 lines
2.4 KiB
TypeScript
70 lines
2.4 KiB
TypeScript
import { describe, expect, it, vi } from "vitest";
|
|
import type { HanzoBotPluginApi } from "./runtime-api.js";
|
|
|
|
const registerFeishuDocToolsMock = vi.hoisted(() => vi.fn());
|
|
const registerFeishuChatToolsMock = vi.hoisted(() => vi.fn());
|
|
const registerFeishuWikiToolsMock = vi.hoisted(() => vi.fn());
|
|
const registerFeishuDriveToolsMock = vi.hoisted(() => vi.fn());
|
|
const registerFeishuPermToolsMock = vi.hoisted(() => vi.fn());
|
|
const registerFeishuBitableToolsMock = vi.hoisted(() => vi.fn());
|
|
const setFeishuRuntimeMock = vi.hoisted(() => vi.fn());
|
|
const registerFeishuSubagentHooksMock = vi.hoisted(() => vi.fn());
|
|
|
|
vi.mock("./src/docx.js", () => ({
|
|
registerFeishuDocTools: registerFeishuDocToolsMock,
|
|
}));
|
|
|
|
vi.mock("./src/chat.js", () => ({
|
|
registerFeishuChatTools: registerFeishuChatToolsMock,
|
|
}));
|
|
|
|
vi.mock("./src/wiki.js", () => ({
|
|
registerFeishuWikiTools: registerFeishuWikiToolsMock,
|
|
}));
|
|
|
|
vi.mock("./src/drive.js", () => ({
|
|
registerFeishuDriveTools: registerFeishuDriveToolsMock,
|
|
}));
|
|
|
|
vi.mock("./src/perm.js", () => ({
|
|
registerFeishuPermTools: registerFeishuPermToolsMock,
|
|
}));
|
|
|
|
vi.mock("./src/bitable.js", () => ({
|
|
registerFeishuBitableTools: registerFeishuBitableToolsMock,
|
|
}));
|
|
|
|
vi.mock("./src/runtime.js", () => ({
|
|
setFeishuRuntime: setFeishuRuntimeMock,
|
|
}));
|
|
|
|
vi.mock("./src/subagent-hooks.js", () => ({
|
|
registerFeishuSubagentHooks: registerFeishuSubagentHooksMock,
|
|
}));
|
|
|
|
describe("feishu plugin register", () => {
|
|
it("registers the Feishu channel, tools, and subagent hooks", async () => {
|
|
const { default: plugin } = await import("./index.js");
|
|
const registerChannel = vi.fn();
|
|
const api = {
|
|
runtime: { log: vi.fn() },
|
|
registerChannel,
|
|
on: vi.fn(),
|
|
config: {},
|
|
registrationMode: "full",
|
|
} as unknown as HanzoBotPluginApi;
|
|
|
|
plugin.register(api);
|
|
|
|
expect(setFeishuRuntimeMock).toHaveBeenCalledWith(api.runtime);
|
|
expect(registerChannel).toHaveBeenCalledTimes(1);
|
|
expect(registerFeishuSubagentHooksMock).toHaveBeenCalledWith(api);
|
|
expect(registerFeishuDocToolsMock).toHaveBeenCalledWith(api);
|
|
expect(registerFeishuChatToolsMock).toHaveBeenCalledWith(api);
|
|
expect(registerFeishuWikiToolsMock).toHaveBeenCalledWith(api);
|
|
expect(registerFeishuDriveToolsMock).toHaveBeenCalledWith(api);
|
|
expect(registerFeishuPermToolsMock).toHaveBeenCalledWith(api);
|
|
expect(registerFeishuBitableToolsMock).toHaveBeenCalledWith(api);
|
|
});
|
|
});
|