Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline (Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/* packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
56 lines
2.4 KiB
TypeScript
56 lines
2.4 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
import {
|
|
displayBotWorkspacePath,
|
|
resolveBotWorkspaceCwd,
|
|
resolveBotWorkspacePath,
|
|
teamBotWorkspaceDirectory,
|
|
} from "./computer-support.js";
|
|
|
|
describe("Team Computer bot folders", () => {
|
|
it("uses the bot folder for relative paths and cwd", () => {
|
|
expect(teamBotWorkspaceDirectory("bot-1")).toBe("bots/bot-1");
|
|
expect(resolveBotWorkspacePath("team", "bot-1", "notes/result.txt")).toBe(
|
|
"bots/bot-1/notes/result.txt",
|
|
);
|
|
expect(resolveBotWorkspacePath("team", "bot-1", "")).toBe("bots/bot-1");
|
|
expect(resolveBotWorkspaceCwd("team", "bot-1", undefined)).toBe("bots/bot-1");
|
|
expect(resolveBotWorkspaceCwd("team", "bot-1", "projects/site")).toBe(
|
|
"bots/bot-1/projects/site",
|
|
);
|
|
expect(resolveBotWorkspaceCwd("team", "bot-1", "/Users/me/project")).toBe("/Users/me/project");
|
|
});
|
|
|
|
it("keeps shared, bot-root, and absolute paths at the Team root", () => {
|
|
expect(resolveBotWorkspacePath("team", "bot-1", "shared/brief.md")).toBe("shared/brief.md");
|
|
expect(resolveBotWorkspacePath("team", "bot-1", "bots/bot-2/result.md")).toBe(
|
|
"bots/bot-2/result.md",
|
|
);
|
|
expect(resolveBotWorkspacePath("team", "bot-1", "/root-note.md")).toBe("root-note.md");
|
|
expect(resolveBotWorkspacePath("team", "bot-1", "/shared/brief.md")).toBe("shared/brief.md");
|
|
});
|
|
|
|
it("presents the current bot folder as its home without hiding Team paths", () => {
|
|
expect(displayBotWorkspacePath("team", "bot-1", "notes", "bots/bot-1/notes/result.txt")).toBe(
|
|
"notes/result.txt",
|
|
);
|
|
expect(displayBotWorkspacePath("team", "bot-1", "shared", "shared/brief.md")).toBe(
|
|
"shared/brief.md",
|
|
);
|
|
expect(displayBotWorkspacePath("team", "bot-1", "bots", "bots/bot-1")).toBe("bots/bot-1");
|
|
expect(displayBotWorkspacePath("team", "bot-1", "/", "bots/bot-1")).toBe("bots/bot-1");
|
|
expect(
|
|
displayBotWorkspacePath("team", "bot-1", "bots/bot-1", "bots/bot-1/notes/result.txt"),
|
|
).toBe("bots/bot-1/notes/result.txt");
|
|
});
|
|
|
|
it("leaves Private Computer paths unchanged", () => {
|
|
expect(resolveBotWorkspacePath("dedicated", "bot-1", "notes/result.txt")).toBe(
|
|
"notes/result.txt",
|
|
);
|
|
expect(resolveBotWorkspaceCwd("dedicated", "bot-1", undefined)).toBeUndefined();
|
|
expect(displayBotWorkspacePath("dedicated", "bot-1", "notes", "notes/result.txt")).toBe(
|
|
"notes/result.txt",
|
|
);
|
|
});
|
|
});
|