import { describe, expect, it, vi } from "vitest";
import { assertOnlineFeature, getAirGappedMessage, isAirGappedMode } from "@/lib/air-gapped";
describe("air-gapped mode", () => {
it("returns false by default", () => {
vi.stubEnv("AIR_GAPPED_MODE", "");
expect(isAirGappedMode()).toBe(false);
});
it("returns true for truthy values", () => {
vi.stubEnv("AIR_GAPPED_MODE", "true");
expect(isAirGappedMode()).toBe(true);
vi.stubEnv("AIR_GAPPED_MODE", "1");
expect(isAirGappedMode()).toBe(true);
vi.stubEnv("AIR_GAPPED_MODE", "yes");
expect(isAirGappedMode()).toBe(true);
});
it("throws when feature requires online mode", () => {
vi.stubEnv("AIR_GAPPED_MODE", "true");
expect(() => assertOnlineFeature("External CI")).toThrow(
getAirGappedMessage("External CI")
);
});
});