mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-12 09:41:11 +00:00
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import plugin from "./index.js";
|
|
import { createMemoryWikiTestHarness } from "./src/test-helpers.js";
|
|
|
|
const { createPluginApi } = createMemoryWikiTestHarness();
|
|
|
|
describe("memory-wiki plugin", () => {
|
|
it("registers prompt supplement, gateway methods, tools, and wiki cli surface", async () => {
|
|
const {
|
|
api,
|
|
registerCli,
|
|
registerGatewayMethod,
|
|
registerMemoryCorpusSupplement,
|
|
registerMemoryPromptSupplement,
|
|
registerTool,
|
|
} = createPluginApi();
|
|
|
|
await plugin.register(api);
|
|
|
|
expect(registerMemoryCorpusSupplement).toHaveBeenCalledTimes(1);
|
|
expect(registerMemoryPromptSupplement).toHaveBeenCalledTimes(1);
|
|
expect(registerGatewayMethod.mock.calls.map((call) => call[0])).toEqual([
|
|
"wiki.status",
|
|
"wiki.init",
|
|
"wiki.doctor",
|
|
"wiki.compile",
|
|
"wiki.ingest",
|
|
"wiki.lint",
|
|
"wiki.bridge.import",
|
|
"wiki.unsafeLocal.import",
|
|
"wiki.search",
|
|
"wiki.apply",
|
|
"wiki.get",
|
|
"wiki.obsidian.status",
|
|
"wiki.obsidian.search",
|
|
"wiki.obsidian.open",
|
|
"wiki.obsidian.command",
|
|
"wiki.obsidian.daily",
|
|
]);
|
|
expect(registerTool).toHaveBeenCalledTimes(5);
|
|
expect(registerTool.mock.calls.map((call) => call[1]?.name)).toEqual([
|
|
"wiki_status",
|
|
"wiki_lint",
|
|
"wiki_apply",
|
|
"wiki_search",
|
|
"wiki_get",
|
|
]);
|
|
expect(registerCli).toHaveBeenCalledTimes(1);
|
|
expect(registerCli.mock.calls[0]?.[1]).toMatchObject({
|
|
descriptors: [
|
|
expect.objectContaining({
|
|
name: "wiki",
|
|
hasSubcommands: true,
|
|
}),
|
|
],
|
|
});
|
|
});
|
|
});
|