The options parameter only served to switch between 'openai' and 'sora' platforms. With Sora removed, the parameter is unnecessary.
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import { describe, expect, it, vi } from 'vitest'
|
|
|
|
vi.mock('@/stores/app', () => ({
|
|
useAppStore: () => ({
|
|
showError: vi.fn()
|
|
})
|
|
}))
|
|
|
|
vi.mock('@/api/admin', () => ({
|
|
adminAPI: {
|
|
accounts: {
|
|
generateAuthUrl: vi.fn(),
|
|
exchangeCode: vi.fn(),
|
|
refreshOpenAIToken: vi.fn()
|
|
}
|
|
}
|
|
}))
|
|
|
|
import { useOpenAIOAuth } from '@/composables/useOpenAIOAuth'
|
|
|
|
describe('useOpenAIOAuth.buildCredentials', () => {
|
|
it('should keep client_id when token response contains it', () => {
|
|
const oauth = useOpenAIOAuth()
|
|
const creds = oauth.buildCredentials({
|
|
access_token: 'at',
|
|
refresh_token: 'rt',
|
|
client_id: 'app_test_client',
|
|
expires_at: 1700000000
|
|
})
|
|
|
|
expect(creds.client_id).toBe('app_test_client')
|
|
expect(creds.access_token).toBe('at')
|
|
expect(creds.refresh_token).toBe('rt')
|
|
})
|
|
|
|
it('should keep legacy behavior when client_id is missing', () => {
|
|
const oauth = useOpenAIOAuth()
|
|
const creds = oauth.buildCredentials({
|
|
access_token: 'at',
|
|
refresh_token: 'rt',
|
|
expires_at: 1700000000
|
|
})
|
|
|
|
expect(Object.prototype.hasOwnProperty.call(creds, 'client_id')).toBe(false)
|
|
expect(creds.access_token).toBe('at')
|
|
expect(creds.refresh_token).toBe('rt')
|
|
})
|
|
})
|