1import { describe, expect, it } from "vite-plus/test";
2
3import { getDisplayModelName, getProviderRowLabel } from "./providerIconUtils";
4
5describe("getProviderRowLabel", () => {
6 it("shows a sub-provider named after its provider on its own", () => {
7 expect(getProviderRowLabel("OpenCode", "OpenCode Zen")).toBe("OpenCode Zen");
8 expect(getProviderRowLabel("OpenCode", "OpenCode Go")).toBe("OpenCode Go");
9 });
10
11 it("keeps a provider id that merely starts like the provider name", () => {
12 expect(getProviderRowLabel("OpenCode", "opencode-go")).toBe("OpenCode · opencode-go");
13 });
14
15 it("joins a sub-provider that names something else", () => {
16 expect(getProviderRowLabel("OpenCode", "GitHub Copilot")).toBe("OpenCode · GitHub Copilot");
17 });
18
19 it("keeps the provider name when a model has no sub-provider", () => {
20 expect(getProviderRowLabel("Claude", undefined)).toBe("Claude");
21 });
22});
23
24describe("getDisplayModelName", () => {
25 it("drops a leading sub-provider qualifier from the model name", () => {
26 expect(
27 getDisplayModelName({
28 slug: "a/b",
29 name: "OpenCode Zen: Step 5",
30 subProvider: "OpenCode Zen",
31 }),
32 ).toBe("Step 5");
33 });
34});