Testing

View as MarkdownOpen in Claude

Current tests use VoxEngine CI plus the Management API to run scenarios and print session logs.

Commands:

  • npm run vox:sync copies example scenarios into voxfiles/ and writes routing rules.
  • npm run vox:upload uploads scenarios and rules to the docs test app.
  • npm run vox:test -- <provider>/<example-file>.js runs a single example via the generic runner.
    • Example: npm run vox:test -- deepgram/voxeengine-deepgram-answer-incoming-call.js
    • Example: npm run vox:test -- elevenlabs-agents/voxeengine-elevenlabs-inbound.js

Notes:

  • Before any voxengine-ci upload, run node scripts/voxengine/sync-examples.mjs (or npm run vox:sync) with the correct VOX_TEST_*_EXAMPLE_PATH env vars so the latest example code is copied into voxfiles/ (or the configured VOX_CI_ROOT_PATH).
  • To create additional dedicated routing rules, set VOX_TEST_EXTRA_EXAMPLES to a comma-separated list of examples (relative to fern/docs/examples/). For example:
    • VOX_TEST_EXTRA_EXAMPLES=elevenlabs-agents/voxeengine-elevenlabs-tool-call.js

Config:

  • .env stores app and call parameters.
  • vox_ci_credentials.json stores service account credentials (gitignored).
  • Each provider’s API key must be set in ApplicationStorage for the test app (e.g., DEEPGRAM_API_KEY, ELEVENLABS_API_KEY, etc.).