import { describe, expect, test } from "bun:test" import { validateNonTuiArgs } from "./install-validators" import type { InstallArgs } from "./types" function createArgs(overrides: Partial = {}): InstallArgs { return { tui: false, claude: "no", openai: "no", gemini: "no", copilot: "no", opencodeZen: "no", zaiCodingPlan: "no", kimiForCoding: "no", opencodeGo: "no", skipAuth: false, ...overrides, } } describe("validateNonTuiArgs", () => { test("rejects invalid --opencode-go values", () => { // #given const args = createArgs({ opencodeGo: "maybe" as InstallArgs["opencodeGo"] }) // #when const result = validateNonTuiArgs(args) // #then expect(result.valid).toBe(false) expect(result.errors).toContain("Invalid --opencode-go value: maybe (expected: no, yes)") }) })