fix(ci): Corriger les tests E2E en CI
Plusieurs problèmes empêchaient les tests E2E de passer en CI : 1. Healthcheck : L'endpoint /api nécessite une authentification et retournait 401, causant l'échec du healthcheck. Remplacé par /api/docs qui est public. 2. Mailer : L'activation de compte déclenche l'envoi d'un email via mailpit, qui n'est pas disponible en CI. Ajout d'une variable d'environnement MAILER_DSN=null://null pour désactiver l'envoi. 3. Token partagé : Chaque navigateur (chromium, firefox, webkit) consommait le même token, causant des échecs pour les suivants. Maintenant chaque navigateur crée son propre token dans beforeAll avec un email unique (e2e-{browser}@example.com). 4. Nettoyage : Suppression de test-utils.ts et global-setup simplifié car la création de token est maintenant dans le fichier de test.
This commit is contained in:
6
.github/workflows/ci.yml
vendored
6
.github/workflows/ci.yml
vendored
@@ -172,14 +172,18 @@ jobs:
|
||||
# Build images first (with Docker layer caching)
|
||||
docker compose build php
|
||||
# Start services (includes db, redis, rabbitmq dependencies)
|
||||
# Use null mailer transport since mailpit is not available in CI
|
||||
docker compose up -d php
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
MAILER_DSN: "null://null"
|
||||
|
||||
- name: Wait for backend to be ready
|
||||
run: |
|
||||
echo "Waiting for backend to be ready (composer install + app startup)..."
|
||||
# Wait up to 5 minutes for the backend to respond
|
||||
timeout 300 bash -c 'until curl -sf http://localhost:18000/api > /dev/null 2>&1; do
|
||||
# Using /api/docs which is a public endpoint (no auth required)
|
||||
timeout 300 bash -c 'until curl -sf http://localhost:18000/api/docs > /dev/null 2>&1; do
|
||||
echo "Waiting for backend..."
|
||||
sleep 5
|
||||
done'
|
||||
|
||||
Reference in New Issue
Block a user