version: '3.8' services: postgres-test: image: postgres:15-alpine container_name: reporting-postgres-test environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: rwadurian_reporting_test ports: - "5433:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 tmpfs: - /var/lib/postgresql/data redis-test: image: redis:7-alpine container_name: reporting-redis-test ports: - "6380:6379" healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 5 reporting-service-test: build: context: . dockerfile: Dockerfile.test container_name: reporting-service-test depends_on: postgres-test: condition: service_healthy redis-test: condition: service_healthy environment: NODE_ENV: test DATABASE_URL: postgresql://postgres:postgres@postgres-test:5432/rwadurian_reporting_test?schema=public REDIS_HOST: redis-test REDIS_PORT: 6379 JWT_SECRET: test-secret-key volumes: - ./coverage:/app/coverage command: sh -c "npx prisma db push --skip-generate && npm run test:cov"