blob: bef2eee0ec9f72178a727f00e9801bbabae2211d [file] [view]
# Integration Testing Guide
This guide covers how to write and run integration tests for Gofannon.
## Overview
Integration tests verify that multiple components work together correctly. Unlike unit tests, they may involve real database connections, API calls, and Docker services.
## Running Integration Tests
```bash
# From webapp directory
cd webapp
# Run all integration tests
pnpm test:integration
# Run backend integration tests only
pnpm test:integration:backend
```
## Test Location
Integration tests are located in:
- Backend: `webapp/packages/api/user-service/tests/integration/`
- E2E: `webapp/tests/e2e/`
## Docker Services
Integration tests require running Docker services:
```bash
# Start required services
docker compose up -d couchdb minio
```
## Writing Integration Tests
Integration tests should:
- Test realistic scenarios with multiple components
- Use real (or containerized) services when appropriate
- Clean up test data after each test
- Be idempotent (can run multiple times safely)
## Related Documentation
- [Unit Testing Guide](./unit-testing.md)
- [Backend Testing Guide](./backend-testing.md)
- [CI/CD Testing](./ci-cd.md)