mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 07:53:23 +00:00
60 lines
2.1 KiB
Markdown
60 lines
2.1 KiB
Markdown
# 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é.
|