Integration Test Guidelines
Guidelines for writing and running integration tests that make real API calls.
Approved Models
Use these models for integration tests:
| Provider | Model Name | API Key Env Var |
|---|---|---|
| Anthropic | claude-haiku-4-5-20251001 |
ANTHROPIC_API_KEY |
| OpenAI | gpt-5-mini |
OPENAI_API_KEY |
gemini-3-flash |
GOOGLE_API_KEY |
Why These Models?
- Fast: Optimized for low latency
- Cost-effective: Cheapest tier for each provider
- Capable: Still highly capable for test scenarios
Writing Integration Tests
Example Vibe Code
// Anthropic
model anthropic = { name: "claude-haiku-4-5-20251001", apiKey: env("ANTHROPIC_API_KEY") }
// OpenAI
model openai = { name: "gpt-5-mini", apiKey: env("OPENAI_API_KEY") }
// Google
model google = { name: "gemini-3-flash", apiKey: env("GOOGLE_API_KEY") }
Test File Location
Integration tests live in: tests/integration/
Running Integration Tests
# Run all integration tests (costs money, ~40s)
bun run test:integration
# Run a single integration test
bun test tests/integration/specific-test.test.ts
Important Notes
- Do NOT run full integration suite routinely - it costs money
- Use unit tests first -
bun run testis fast and free - Run targeted integration tests when verifying specific provider behavior
- Update model names when providers release new versions
Converted and distributed by TomeVault — claim your Tome and manage your conversions.