Files
openclaw/src/commands/status.scan-memory.test.ts
2026-04-06 14:05:49 +05:30

78 lines
2.3 KiB
TypeScript

import { beforeEach, describe, expect, it, vi } from "vitest";
const mocks = vi.hoisted(() => ({
resolveMemorySearchConfig: vi.fn(),
getMemorySearchManager: vi.fn(),
resolveSharedMemoryStatusSnapshot: vi.fn(),
}));
vi.mock("../agents/memory-search.js", () => ({
resolveMemorySearchConfig: mocks.resolveMemorySearchConfig,
}));
vi.mock("./status.scan.deps.runtime.js", () => ({
getMemorySearchManager: mocks.getMemorySearchManager,
}));
vi.mock("./status.scan.shared.js", () => ({
resolveSharedMemoryStatusSnapshot: mocks.resolveSharedMemoryStatusSnapshot,
}));
describe("status.scan-memory", () => {
beforeEach(() => {
vi.clearAllMocks();
mocks.resolveSharedMemoryStatusSnapshot.mockResolvedValue({ agentId: "main" });
});
it("forwards the shared memory snapshot dependencies", async () => {
const { resolveStatusMemoryStatusSnapshot } = await import("./status.scan-memory.ts");
const requireDefaultStore = vi.fn((agentId: string) => `/tmp/${agentId}.sqlite`);
await resolveStatusMemoryStatusSnapshot({
cfg: { agents: {} },
agentStatus: {
defaultId: "main",
totalSessions: 0,
bootstrapPendingCount: 0,
agents: [
{
id: "main",
workspaceDir: null,
bootstrapPending: false,
sessionsPath: "/tmp/main.json",
sessionsCount: 0,
lastUpdatedAt: null,
lastActiveAgeMs: null,
},
],
},
memoryPlugin: { enabled: true, slot: "memory-core" },
requireDefaultStore,
});
expect(mocks.resolveSharedMemoryStatusSnapshot).toHaveBeenCalledWith({
cfg: { agents: {} },
agentStatus: {
defaultId: "main",
totalSessions: 0,
bootstrapPendingCount: 0,
agents: [
{
id: "main",
workspaceDir: null,
bootstrapPending: false,
sessionsPath: "/tmp/main.json",
sessionsCount: 0,
lastUpdatedAt: null,
lastActiveAgeMs: null,
},
],
},
memoryPlugin: { enabled: true, slot: "memory-core" },
resolveMemoryConfig: mocks.resolveMemorySearchConfig,
getMemorySearchManager: mocks.getMemorySearchManager,
requireDefaultStore,
});
});
});