diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6337bc..d63c136 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,3 +23,9 @@ jobs: run: pnpm exec playwright install - name: Run Playwright/BDD tests run: npm run bdd:full + env: + NODE_ENV: test + AI_FOUNDRY_PROJECT_CONNECTION_STRING: test + AI_MODEL=gpt-4o + VITE_PARTYKIT_BASE_URL=wss://partykit.jcreek.partykit.dev + PARTYKIT_BASE_URL=wss://partykit.jcreek.partykit.dev diff --git a/src/lib/agent/services/agentService.ts b/src/lib/agent/services/agentService.ts index 603e7ec..c64fd2e 100644 --- a/src/lib/agent/services/agentService.ts +++ b/src/lib/agent/services/agentService.ts @@ -11,15 +11,20 @@ import { } from '../tools/index'; import { AI_FOUNDRY_PROJECT_CONNECTION_STRING, AI_MODEL } from '$env/static/private'; -if (!AI_FOUNDRY_PROJECT_CONNECTION_STRING) { +const isTestEnv = process.env.NODE_ENV === 'test' || AI_FOUNDRY_PROJECT_CONNECTION_STRING === 'test'; + +const safeConnString = AI_FOUNDRY_PROJECT_CONNECTION_STRING || (isTestEnv ? 'dummy-connection-string' : undefined); +const safeModel = AI_MODEL || (isTestEnv ? 'dummy-model' : undefined); + +if (!safeConnString && !isTestEnv) { throw new Error('AI_FOUNDRY_PROJECT_CONNECTION_STRING is not set'); } -if (!AI_MODEL) { +if (!safeModel && !isTestEnv) { throw new Error('AI_MODEL is not set'); } export const client = AIProjectsClient.fromConnectionString( - AI_FOUNDRY_PROJECT_CONNECTION_STRING, + safeConnString!, new DefaultAzureCredential() );