Files
dev/third_party/pi/packages/coding-agent/test/first-time-setup-fork.test.ts
alexion 4def357d09 chore(vendor): import pi 0.85.1
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
2026-09-14 10:48:47 -04:00

40 lines
1.1 KiB
TypeScript

import { mkdtempSync, rmSync } from "fs";
import { tmpdir } from "os";
import { join } from "path";
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
vi.mock("../src/config.ts", async (importOriginal) => {
const actual = await importOriginal();
return {
...(actual as Record<string, unknown>),
PACKAGE_NAME: "@example/pi-coding-agent",
};
});
import { shouldRunFirstTimeSetup } from "../src/cli/startup-ui.ts";
describe("shouldRunFirstTimeSetup in forked distributions", () => {
const originalPiExperimental = process.env.PI_EXPERIMENTAL;
let tempDir: string;
let settingsPath: string;
beforeEach(() => {
tempDir = mkdtempSync(join(tmpdir(), "pi-first-time-setup-fork-"));
settingsPath = join(tempDir, "settings.json");
process.env.PI_EXPERIMENTAL = "1";
});
afterEach(() => {
rmSync(tempDir, { recursive: true, force: true });
if (originalPiExperimental === undefined) {
delete process.env.PI_EXPERIMENTAL;
} else {
process.env.PI_EXPERIMENTAL = originalPiExperimental;
}
});
it("returns false for a forked package", () => {
expect(shouldRunFirstTimeSetup(settingsPath)).toBe(false);
});
});