# Tests Behat pour Octave Front Office

## Installation

Behat est déjà installé via Composer. Les dépendances sont dans `vendor/`.

## Exécution des tests

### Depuis le conteneur Docker (recommandé)

```bash
# Démarrer le conteneur si ce n'est pas déjà fait
docker-compose up -d

# Exécuter tous les tests
docker-compose exec web bash -c "cd /var/www/html/apps/front/octave/fo && php artisan behat"

# Exécuter un fichier de test spécifique
docker-compose exec web bash -c "cd /var/www/html/apps/front/octave/fo && php artisan behat features/options/seconde_option_rang.feature"

# Exécuter avec format verbose
docker-compose exec web bash -c "cd /var/www/html/apps/front/octave/fo && php artisan behat --format=pretty"

# Exécuter un scénario spécifique
docker-compose exec web bash -c "cd /var/www/html/apps/front/octave/fo && php artisan behat --name=\"Poser une seconde option avec Rang 2\""
```

### Depuis le conteneur directement

```bash
# Se connecter au conteneur
docker-compose exec web bash

# Dans le conteneur
cd /var/www/html/apps/front/octave/fo
php artisan behat

# Exécuter un fichier de test spécifique
php artisan behat features/options/seconde_option_rang.feature
```

## Structure des tests

- `features/` : Dossier contenant les fichiers `.feature` (scénarios Gherkin)
- `features/bootstrap/FeatureContext.php` : Contexte Behat avec les définitions de steps
- `features/options/seconde_option_rang.feature` : Test pour la règle métier des options Rang 2

## Configuration

- `behat.yml` : Configuration Behat
- Les tests utilisent SQLite en mémoire (`:memory:`) pour l'isolation
- Les migrations sont chargées depuis `../bo/database/migrations` (base de données partagée)

## Ajout de nouveaux tests

1. Créer un nouveau fichier `.feature` dans `features/`
2. Écrire les scénarios en Gherkin (français)
3. Implémenter les steps dans `FeatureContext.php` si nécessaire

