Files
oh-my-opencode/packages/model-core/src/provider-model-id-transform.test.ts
T

48 lines
1.5 KiB
TypeScript
Raw Normal View History

import { describe, expect, test } from "bun:test"
import {
transformModelForProvider,
transformModelForProviderDisplay,
} from "./provider-model-id-transform"
describe("provider model ID transforms", () => {
test("keeps separate Anthropic API and display behavior", () => {
// #given an Anthropic model ID in config-display form
const provider = "anthropic"
const model = "claude-opus-4-7"
// #when both model-core transform variants are called
const apiResult = transformModelForProvider(provider, model)
const displayResult = transformModelForProviderDisplay(provider, model)
// #then API calls use dotted Anthropic versions while display keeps hyphens
expect(apiResult).toBe("claude-opus-4.7")
expect(displayResult).toBe("claude-opus-4-7")
})
test("produces identical results for non-Anthropic providers", () => {
// #given non-Anthropic provider/model pairs
const scenarios = [
{ provider: "openai", model: "gpt-4o" },
{ provider: "google", model: "gemini-2.5-pro" },
{ provider: "github-copilot", model: "gemini-3-flash" },
{ provider: "vercel", model: "claude-opus-4-7" },
] as const
for (const scenario of scenarios) {
// #when both transform variants are called
const apiResult = transformModelForProvider(
scenario.provider,
scenario.model,
)
const displayResult = transformModelForProviderDisplay(
scenario.provider,
scenario.model,
)
// #then the variants match outside the direct Anthropic provider branch
expect(displayResult).toBe(apiResult)
}
})
})