mirror of
https://github.com/earendil-works/pi.git
synced 2026-06-18 15:54:04 +08:00
40 lines
1.1 KiB
TypeScript
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);
|
|
});
|
|
});
|