import { describe, expect, it } from 'vitest'; import { llmApiError } from '@/lib/server/llm-error-response'; import { ServerManagedProviderRequiredError } from '@/lib/server/provider-access-policy'; import { providerAccessApiError } from '@/lib/server/provider-access-response'; describe('provider access API response', () => { it('maps the deployment denial to a stable 403/FORBIDDEN response', async () => { const response = providerAccessApiError(new ServerManagedProviderRequiredError()); expect(response?.status).toBe(403); await expect(response?.json()).resolves.toMatchObject({ success: false, errorCode: 'FORBIDDEN', }); }); it('leaves unrelated errors to the route-specific handler', () => { expect(providerAccessApiError(new Error('upstream failed'))).toBeNull(); }); it('takes precedence in the shared LLM error mapper', async () => { const response = llmApiError(new ServerManagedProviderRequiredError()); expect(response.status).toBe(403); await expect(response.json()).resolves.toMatchObject({ success: false, errorCode: 'FORBIDDEN', }); }); });