import { describe, expect, it } from "vitest"; import { DEFAULT_MEMORY_ALT_FILENAME, DEFAULT_MEMORY_FILENAME, loadWorkspaceBootstrapFiles, } from "./workspace.js"; import { makeTempWorkspace, writeWorkspaceFile } from "../test-helpers/workspace.js"; describe("loadWorkspaceBootstrapFiles", () => { it("includes MEMORY.md when present", async () => { const tempDir = await makeTempWorkspace("moltbot-workspace-"); await writeWorkspaceFile({ dir: tempDir, name: "MEMORY.md", content: "memory" }); const files = await loadWorkspaceBootstrapFiles(tempDir); const memoryEntries = files.filter((file) => [DEFAULT_MEMORY_FILENAME, DEFAULT_MEMORY_ALT_FILENAME].includes(file.name), ); expect(memoryEntries).toHaveLength(1); expect(memoryEntries[0]?.missing).toBe(false); expect(memoryEntries[0]?.content).toBe("memory"); }); it("includes memory.md when MEMORY.md is absent", async () => { const tempDir = await makeTempWorkspace("moltbot-workspace-"); await writeWorkspaceFile({ dir: tempDir, name: "memory.md", content: "alt" }); const files = await loadWorkspaceBootstrapFiles(tempDir); const memoryEntries = files.filter((file) => [DEFAULT_MEMORY_FILENAME, DEFAULT_MEMORY_ALT_FILENAME].includes(file.name), ); expect(memoryEntries).toHaveLength(1); expect(memoryEntries[0]?.missing).toBe(false); expect(memoryEntries[0]?.content).toBe("alt"); }); it("omits memory entries when no memory files exist", async () => { const tempDir = await makeTempWorkspace("moltbot-workspace-"); const files = await loadWorkspaceBootstrapFiles(tempDir); const memoryEntries = files.filter((file) => [DEFAULT_MEMORY_FILENAME, DEFAULT_MEMORY_ALT_FILENAME].includes(file.name), ); expect(memoryEntries).toHaveLength(0); }); });