refactor(provider-inference): move provider tests closer to implementations (#2529)
# Refactor: Move Provider Tests to provider-inference ## Summary Move azure-openai and openrouter-ai provider tests from `stage-ui` to `provider-inference` package, placing them closer to their implementations. ## Changes - **Moved test files**: - `packages/stage-ui/src/libs/providers/providers/azure-openai/index.test.ts` → `packages/provider-inference/src/providers/cloud/azure-openai/index.test.ts` - `packages/stage-ui/src/libs/providers/providers/openrouter-ai/index.test.ts` → `packages/provider-inference/src/providers/cloud/openrouter-ai/index.test.ts` - **Simplified test imports**: Updated tests to use direct provider definitions instead of `getDefinedProvider()`, removing unnecessary lookup logic - **Added dependency**: `@proj-airi/core-agent` as devDependency for test utilities ## Benefits 1. Tests are co-located with their implementations 2. Direct imports are simpler and more maintainable 3. Better package organization following module boundaries ## Verification ```bash # Run tests for provider-inference pnpm -F @proj-airi/provider-inference exec vitest run # Typecheck pnpm -F @proj-airi/provider-inference typecheck ``` ## Test Results All tests pass after the refactoring.
This commit is contained in:
@@ -53,6 +53,7 @@
|
||||
"zod": "catalog:"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@proj-airi/core-agent": "workspace:^",
|
||||
"@types/node": "catalog:",
|
||||
"@vitest/browser-playwright": "catalog:vitest",
|
||||
"@xsai/generate-speech": "catalog:",
|
||||
|
||||
+3
-6
@@ -1,9 +1,10 @@
|
||||
import type { JsonSchema } from 'xsschema'
|
||||
|
||||
import { createSparkCommandTool } from '@proj-airi/core-agent/agents/spark-command'
|
||||
import { getDefinedProvider } from '@proj-airi/provider-inference'
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest'
|
||||
|
||||
import { providerAzureOpenAI } from './index'
|
||||
|
||||
interface ChatRequestBody {
|
||||
tools: Array<{
|
||||
function: {
|
||||
@@ -40,11 +41,7 @@ describe('providerAzureOpenAI tool schemas', () => {
|
||||
const fetchMock = vi.fn<typeof fetch>().mockResolvedValue(new Response('{}'))
|
||||
vi.stubGlobal('fetch', fetchMock)
|
||||
|
||||
const providerDefinition = getDefinedProvider('azure-openai')
|
||||
if (!providerDefinition)
|
||||
throw new Error('Azure OpenAI provider definition is not registered.')
|
||||
|
||||
const provider = await providerDefinition.createProvider({
|
||||
const provider = await providerAzureOpenAI.createProvider({
|
||||
apiKey: 'test-key',
|
||||
baseUrl: 'https://example.openai.azure.com/openai/',
|
||||
})
|
||||
+6
-12
@@ -1,11 +1,13 @@
|
||||
import type { ChatRequestOptions } from '@proj-airi/provider-inference'
|
||||
import type { ChatProviderWithExtraOptions } from '@xsai-ext/providers/utils'
|
||||
import type { JsonSchema } from 'xsschema'
|
||||
|
||||
import type { ChatRequestOptions } from '../../../types'
|
||||
|
||||
import { createSparkCommandTool } from '@proj-airi/core-agent/agents/spark-command'
|
||||
import { getDefinedProvider } from '@proj-airi/provider-inference'
|
||||
import { afterEach, describe, expect, it, vi } from 'vitest'
|
||||
|
||||
import { providerOpenRouterAI } from './index'
|
||||
|
||||
interface ChatRequestBody {
|
||||
tools: Array<{
|
||||
function: {
|
||||
@@ -35,11 +37,7 @@ describe('providerOpenRouterAI tool schemas', () => {
|
||||
})
|
||||
|
||||
it('maps AIRI reasoning modes to OpenRouter request fields', async () => {
|
||||
const providerDefinition = getDefinedProvider('openrouter-ai')
|
||||
if (!providerDefinition)
|
||||
throw new Error('OpenRouter provider definition is not registered.')
|
||||
|
||||
const provider = await providerDefinition.createProvider({
|
||||
const provider = await providerOpenRouterAI.createProvider({
|
||||
apiKey: 'test-key',
|
||||
}) as ChatProviderWithExtraOptions<string, ChatRequestOptions>
|
||||
|
||||
@@ -58,11 +56,7 @@ describe('providerOpenRouterAI tool schemas', () => {
|
||||
const fetchMock = vi.fn<typeof fetch>().mockResolvedValue(new Response('{}'))
|
||||
vi.stubGlobal('fetch', fetchMock)
|
||||
|
||||
const providerDefinition = getDefinedProvider('openrouter-ai')
|
||||
if (!providerDefinition)
|
||||
throw new Error('OpenRouter provider definition is not registered.')
|
||||
|
||||
const provider = await providerDefinition.createProvider({
|
||||
const provider = await providerOpenRouterAI.createProvider({
|
||||
apiKey: 'test-key',
|
||||
})
|
||||
if (!('chat' in provider))
|
||||
Generated
+3
@@ -3917,6 +3917,9 @@ importers:
|
||||
specifier: 'catalog:'
|
||||
version: 4.4.3
|
||||
devDependencies:
|
||||
'@proj-airi/core-agent':
|
||||
specifier: workspace:^
|
||||
version: link:../core-agent
|
||||
'@types/node':
|
||||
specifier: 'catalog:'
|
||||
version: 26.2.0
|
||||
|
||||
Reference in New Issue
Block a user