Files
prompt-optimizer/packages/core/tests/unit/image/openrouter-integration.test.ts
linshen 8467b96263 feat(test): 实现智能测试系统并改进测试策略
- 实现智能测试系统,统一测试入口
- 完成 Pro 路由重构和 Image 模式评估测试
- 为 Image 模式添加 data-testid 支持
- 完善 E2E 测试并修复选择器策略
- 优化 Seedream、OpenAI 和 SiliconFlow 适配器
- 移除调试日志,保留错误和警告日志
- 重命名 Pro 模式子模式(system/user → multi/variable)
- 清理测试代码并改进稳定性
2026-01-10 11:23:00 +08:00

56 lines
2.1 KiB
TypeScript

import { describe, it, expect } from 'vitest'
import { ImageAdapterRegistry } from '../../../src/services/image/adapters/registry'
import { OpenRouterImageAdapter } from '../../../src/services/image/adapters/openrouter'
describe('OpenRouter Integration Test', () => {
it('should include OpenRouter in provider list', () => {
const registry = new ImageAdapterRegistry()
const providers = registry.getAllProviders()
const openrouterProvider = providers.find(p => p.id === 'openrouter')
expect(openrouterProvider).toBeDefined()
expect(openrouterProvider?.name).toBe('OpenRouter')
expect(openrouterProvider?.requiresApiKey).toBe(true)
expect(openrouterProvider?.supportsDynamicModels).toBe(true)
})
it('should get OpenRouter adapter successfully', () => {
const registry = new ImageAdapterRegistry()
expect(() => {
const adapter = registry.getAdapter('openrouter')
expect(adapter).toBeDefined()
expect(adapter.getProvider().id).toBe('openrouter')
}).not.toThrow()
})
it('should get OpenRouter static models', () => {
const registry = new ImageAdapterRegistry()
const models = registry.getStaticModels('openrouter')
const openrouterModelId = new OpenRouterImageAdapter().getModels()[0].id
expect(models.length).toBeGreaterThan(0)
expect(models[0].id).toBe(openrouterModelId)
expect(models.every(m => m.providerId === 'openrouter')).toBe(true)
expect(models.every(m => m.capabilities.text2image)).toBe(true)
})
it('should support OpenRouter in all static models view', () => {
const registry = new ImageAdapterRegistry()
const allModels = registry.getAllStaticModels()
const openrouterModelId = new OpenRouterImageAdapter().getModels()[0].id
const openrouterModels = allModels.filter(item => item.provider.id === 'openrouter')
expect(openrouterModels.length).toBeGreaterThan(0)
expect(openrouterModels[0].model.id).toBe(openrouterModelId)
})
it('should support dynamic models for OpenRouter', () => {
const registry = new ImageAdapterRegistry()
expect(registry.supportsDynamicModels('openrouter')).toBe(true)
})
})