/ opencodehub / tests / unit / air-gapped.test.ts
Swadhin Biswas test(qa): add e2e, integration, unit, and load coverage · 3/6/2026
1c29e63
28 lines · 839 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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")
    );
  });
});