mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
feat: Amorçage des tests automatiques [#64]
This commit is contained in:
59
docs/tests_automatiques.md
Normal file
59
docs/tests_automatiques.md
Normal file
@ -0,0 +1,59 @@
|
||||
# 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é.
|
||||
Reference in New Issue
Block a user