Files
kilocode/packages/kilo-vscode/tests/unit/provider-visibility.test.ts
T
Marius b344ac97c6 fix(vscode): restore disabled provider management (#9551)
* fix(vscode): restore disabled provider management

* fix(vscode): allow disabling Kilo Gateway

* fixup! fix(vscode): allow disabling Kilo Gateway

* fixup! fixup! fix(vscode): allow disabling Kilo Gateway

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-04-27 12:22:43 +02:00

80 lines
2.3 KiB
TypeScript

import { describe, expect, it } from "bun:test"
import {
disabledProviderOptions,
providersWithKiloFallback,
visibleConnectedIds,
} from "../../webview-ui/src/components/settings/provider-visibility"
describe("visibleConnectedIds", () => {
it("hides Kilo from the connected list when auth is missing", () => {
const ids = visibleConnectedIds(["kilo", "openrouter"], { openrouter: "api" })
expect(ids).toEqual(["openrouter"])
})
it("keeps Kilo in the connected list when auth exists", () => {
const ids = visibleConnectedIds(["kilo", "openrouter"], { kilo: "oauth", openrouter: "api" })
expect(ids).toEqual(["kilo", "openrouter"])
})
it("leaves non-Kilo providers untouched", () => {
const ids = visibleConnectedIds(["anthropic"], {})
expect(ids).toEqual(["anthropic"])
})
})
describe("disabledProviderOptions", () => {
it("includes Kilo and excludes already disabled providers", () => {
const options = disabledProviderOptions(
{
kilo: { id: "kilo", name: "Kilo Gateway", env: [], models: {} },
openai: { id: "openai", name: "OpenAI", env: [], models: {} },
anthropic: { id: "anthropic", name: "Anthropic", env: [], models: {} },
},
["openai"],
)
expect(options).toEqual([
{ value: "anthropic", label: "Anthropic" },
{ value: "kilo", label: "Kilo Gateway" },
])
})
it("sorts options by provider name", () => {
const options = disabledProviderOptions(
{
zed: { id: "zed", name: "Zed", env: [], models: {} },
alpha: { id: "alpha", name: "Alpha", env: [], models: {} },
},
[],
)
expect(options).toEqual([
{ value: "alpha", label: "Alpha" },
{ value: "zed", label: "Zed" },
])
})
})
describe("providersWithKiloFallback", () => {
it("adds Kilo when backend providers omit it", () => {
const providers = providersWithKiloFallback({
anthropic: { id: "anthropic", name: "Anthropic", env: [], models: {} },
})
expect(providers.kilo?.name).toBe("Kilo Gateway")
expect(providers.anthropic?.name).toBe("Anthropic")
})
it("keeps the backend Kilo provider when present", () => {
const providers = providersWithKiloFallback({
kilo: { id: "kilo", name: "Custom Kilo Name", env: [], models: {} },
})
expect(providers.kilo?.name).toBe("Custom Kilo Name")
})
})