Files
openclaw/src/plugin-sdk/memory-host-search.test.ts
2026-04-06 04:56:52 +01:00

43 lines
1.6 KiB
TypeScript

import { beforeEach, describe, expect, it, vi } from "vitest";
import type { OpenClawConfig } from "../config/config.js";
import {
closeActiveMemorySearchManagers,
getActiveMemorySearchManager,
} from "./memory-host-search.js";
const { closeActiveMemorySearchManagersMock, getActiveMemorySearchManagerMock } = vi.hoisted(
() => ({
closeActiveMemorySearchManagersMock: vi.fn(),
getActiveMemorySearchManagerMock: vi.fn(),
}),
);
vi.mock("./memory-host-search.runtime.js", () => ({
closeActiveMemorySearchManagers: closeActiveMemorySearchManagersMock,
getActiveMemorySearchManager: getActiveMemorySearchManagerMock,
}));
describe("memory-host-search facade", () => {
beforeEach(() => {
closeActiveMemorySearchManagersMock.mockReset();
getActiveMemorySearchManagerMock.mockReset();
});
it("delegates active manager lookup to the lazy runtime module", async () => {
const cfg = { agents: { list: [{ id: "main", default: true }] } } as OpenClawConfig;
const expected = { manager: null, error: "unavailable" };
getActiveMemorySearchManagerMock.mockResolvedValue(expected);
await expect(getActiveMemorySearchManager({ cfg, agentId: "main" })).resolves.toEqual(expected);
expect(getActiveMemorySearchManagerMock).toHaveBeenCalledWith({ cfg, agentId: "main" });
});
it("delegates runtime cleanup to the lazy runtime module", async () => {
const cfg = { agents: { list: [{ id: "main", default: true }] } } as OpenClawConfig;
await closeActiveMemorySearchManagers(cfg);
expect(closeActiveMemorySearchManagersMock).toHaveBeenCalledWith(cfg);
});
});