Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
25 lines
977 B
TypeScript
25 lines
977 B
TypeScript
import { homedir } from "node:os";
|
|
import { resolve } from "node:path";
|
|
import { afterEach, describe, expect, test, vi } from "vitest";
|
|
import { resolveSessionDirectory } from "../src/experimental/server.ts";
|
|
|
|
afterEach(() => vi.unstubAllEnvs());
|
|
|
|
describe("experimental server session directory", () => {
|
|
test("uses the experimental directory under the configured agent directory by default", () => {
|
|
vi.stubEnv("PI_CODING_AGENT_DIR", "/tmp/pi-agent-config");
|
|
|
|
expect(resolveSessionDirectory()).toBe("/tmp/pi-agent-config/experimental/sessions");
|
|
});
|
|
|
|
test("resolves an explicit relative directory from the current working directory", () => {
|
|
vi.stubEnv("PI_CODING_AGENT_DIR", "/tmp/pi-agent-config");
|
|
|
|
expect(resolveSessionDirectory("relative/sessions")).toBe(resolve("relative/sessions"));
|
|
});
|
|
|
|
test("expands a tilde in an explicit directory", () => {
|
|
expect(resolveSessionDirectory("~/custom-sessions")).toBe(resolve(homedir(), "custom-sessions"));
|
|
});
|
|
});
|