Files
pi/packages/coding-agent/test/first-time-setup-fork.test.ts
2026-06-11 21:36:26 +02: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);
});
});