refactor(onboard): unify auth-choice catalog for CLI help

This commit is contained in:
Peter Steinberger
2026-02-14 05:51:01 +01:00
parent fdda261478
commit eab9dc538a
3 changed files with 196 additions and 139 deletions

View File

@@ -1,6 +1,6 @@
import { describe, expect, it } from "vitest";
import type { AuthProfileStore } from "../agents/auth-profiles.js";
import { buildAuthChoiceOptions } from "./auth-choice-options.js";
import { buildAuthChoiceOptions, formatAuthChoiceChoicesForCli } from "./auth-choice-options.js";
describe("buildAuthChoiceOptions", () => {
it("includes GitHub Copilot", () => {
@@ -144,4 +144,32 @@ describe("buildAuthChoiceOptions", () => {
expect(options.some((opt) => opt.value === "vllm")).toBe(true);
});
it("builds cli help choices from the same catalog", () => {
const store: AuthProfileStore = { version: 1, profiles: {} };
const options = buildAuthChoiceOptions({
store,
includeSkip: true,
});
const cliChoices = formatAuthChoiceChoicesForCli({
includeLegacyAliases: false,
includeSkip: true,
}).split("|");
for (const option of options) {
expect(cliChoices).toContain(option.value);
}
});
it("can include legacy aliases in cli help choices", () => {
const cliChoices = formatAuthChoiceChoicesForCli({
includeLegacyAliases: true,
includeSkip: true,
}).split("|");
expect(cliChoices).toContain("setup-token");
expect(cliChoices).toContain("oauth");
expect(cliChoices).toContain("claude-cli");
expect(cliChoices).toContain("codex-cli");
});
});