mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-07 19:31:24 +00:00
test: migrate suites to e2e coverage layout
This commit is contained in:
61
src/agents/workspace.e2e.test.ts
Normal file
61
src/agents/workspace.e2e.test.ts
Normal file
@@ -0,0 +1,61 @@
|
||||
import path from "node:path";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { makeTempWorkspace, writeWorkspaceFile } from "../test-helpers/workspace.js";
|
||||
import {
|
||||
DEFAULT_MEMORY_ALT_FILENAME,
|
||||
DEFAULT_MEMORY_FILENAME,
|
||||
loadWorkspaceBootstrapFiles,
|
||||
resolveDefaultAgentWorkspaceDir,
|
||||
} from "./workspace.js";
|
||||
|
||||
describe("resolveDefaultAgentWorkspaceDir", () => {
|
||||
it("uses OPENCLAW_HOME for default workspace resolution", () => {
|
||||
const dir = resolveDefaultAgentWorkspaceDir({
|
||||
OPENCLAW_HOME: "/srv/openclaw-home",
|
||||
HOME: "/home/other",
|
||||
} as NodeJS.ProcessEnv);
|
||||
|
||||
expect(dir).toBe(path.join(path.resolve("/srv/openclaw-home"), ".openclaw", "workspace"));
|
||||
});
|
||||
});
|
||||
|
||||
describe("loadWorkspaceBootstrapFiles", () => {
|
||||
it("includes MEMORY.md when present", async () => {
|
||||
const tempDir = await makeTempWorkspace("openclaw-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("openclaw-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("openclaw-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);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user