# Documentation des tests automatiques Ce document décrit la structure et l’utilisation du starter de tests automatiques pour valider tous les endpoints exposés par les fichiers `urls.py` des applications Django du Back-End. ## Objectif - Vérifier automatiquement que chaque route définie dans le projet répond bien à une requête HTTP (statut attendu : 200, 401, 403, 404). - Permettre une validation rapide de la couverture des endpoints lors de chaque pipeline CI. ## Structure - Le fichier principal est `Back-End/test_all_endpoints.py`. - Ce test utilise `pytest` et `pytest-django` pour parcourir toutes les routes du projet et effectuer une requête GET anonyme. - Les routes dynamiques (avec paramètres) sont ignorées dans ce starter. ## Exécution 1. Installer les dépendances si besoin : ```sh pip install pytest pytest-django djangorestframework ``` 2. Lancer les tests : ```sh pytest Back-End/test_all_endpoints.py ``` ## Intégration CI - Ajouter la commande de test dans votre pipeline CI (GitHub Actions, GitLab CI, Jenkins, etc.) : ```sh pytest Back-End/test_all_endpoints.py ``` ## Personnalisation - Pour tester les routes nécessitant une authentification ou des paramètres, compléter le test avec des cas spécifiques. - Pour chaque nouvelle route, le test s’exécutera automatiquement. ## Ajout - Ajout d'un fichier de tests automatiques dédié à Auth (`test_auth_endpoints.py`) pour tester tous les endpoints Auth (GET, dynamiques, login JWT, accès protégé, structure JSON). - Les tests créent un utilisateur et un profilRole de test, réalisent un login, et vérifient les accès aux endpoints principaux, y compris les routes dynamiques et protégées. ## Utilisation - Lancer les tests avec : ```bash pytest --json-report --json-report-file=tests_automatiques.json ``` - Le rapport inclura les résultats détaillés pour chaque endpoint Auth. ## Extension - Étendre sur le même modèle pour les autres applications (School, Subscriptions, etc.) - Ajouter des tests POST/PUT/DELETE et des cas d’erreur/permissions. --- Pour toute question ou évolution, se référer au ticket associé.