import { describe, expect, it, vi } from 'vitest' import { mount } from '@vue/test-utils' import { nextTick } from 'vue' vi.mock('vue-i18n', () => ({ useI18n: () => ({ t: (key: string) => key }) })) vi.mock('@/composables/useClipboard', () => ({ useClipboard: () => ({ copyToClipboard: vi.fn().mockResolvedValue(true) }) })) import UseKeyModal from '../UseKeyModal.vue' describe('UseKeyModal', () => { it('renders updated GPT-5.4 mini/nano names in OpenCode config', async () => { const wrapper = mount(UseKeyModal, { props: { show: true, apiKey: 'sk-test', baseUrl: 'https://example.com/v1', platform: 'openai' }, global: { stubs: { BaseDialog: { template: '
' }, Icon: { template: '' } } } }) const opencodeTab = wrapper.findAll('button').find((button) => button.text().includes('keys.useKeyModal.cliTabs.opencode') ) expect(opencodeTab).toBeDefined() await opencodeTab!.trigger('click') await nextTick() const codeBlock = wrapper.find('pre code') expect(codeBlock.exists()).toBe(true) expect(codeBlock.text()).toContain('"name": "GPT-5.4 Mini"') expect(codeBlock.text()).toContain('"name": "GPT-5.4 Nano"') }) })