import { describe, expect, test } from 'bun:test' import { resolveLanguageModelID } from '@/app/ai/chat/model' import { normalizeOpenRouterModel } from '@/app/ai/chat/provider-models' describe('resolveLanguageModelID', () => { test('uses the selected OpenRouter model when no custom model is configured', () => { expect( resolveLanguageModelID({ providerID: 'openrouter', modelID: 'anthropic/claude-sonnet-4.6', customModelID: '' }) ).toBe('anthropic/claude-sonnet-4.6') }) test('uses a custom OpenRouter model ID when provided', () => { expect( resolveLanguageModelID({ providerID: 'openrouter', modelID: 'anthropic/claude-sonnet-4.6', customModelID: ' meta-llama/llama-3.3-70b-instruct ' }) ).toBe('meta-llama/llama-3.3-70b-instruct') }) }) describe('normalizeOpenRouterModel', () => { test('keeps tool-capable OpenRouter models', () => { expect( normalizeOpenRouterModel({ id: 'meta-llama/llama-3.3-70b-instruct', name: 'Llama 3.3 70B Instruct', supported_parameters: ['tools'] }) ).toEqual({ id: 'meta-llama/llama-3.3-70b-instruct', name: 'Llama 3.3 70B Instruct' }) }) test('skips OpenRouter models without tool support', () => { expect( normalizeOpenRouterModel({ id: 'text-only/model', name: 'Text Only', supported_parameters: [] }) ).toBeNull() }) })