Suite de tests API couvrant un cycle CRUD complet (Create, Read, Update, Delete) avec gestion de l'authentification, cas nominaux et cas d'erreur.
Cible de test : Restful Booker — API publique de démonstration (réservations d'hôtel), volontairement conçue pour la pratique du test d'API.
Ce projet illustre la méthode utilisée pour tester des API CRUD en environnement professionnel : ne pas se limiter au "happy path", mais systématiquement vérifier le comportement après suppression, les cas d'authentification manquante, et la cohérence des données à chaque étape du cycle de vie d'une ressource.
- Couvrir le cycle de vie complet d'une ressource : création, lecture, mise à jour (complète et partielle), suppression.
- Gérer un flow d'authentification (récupération de token, réutilisation dans les requêtes protégées).
- Vérifier systématiquement les cas d'erreur : accès à une ressource supprimée, authentification absente ou invalide, données incomplètes.
- Garantir la cohérence des données entre chaque étape (ce qui est créé est bien ce qui est lu, ce qui est mis à jour est bien reflété ensuite).
| Domaine | Technologie |
|---|---|
| Requêtes API | Cypress (cy.request) |
| Langage | TypeScript |
| CI/CD | GitHub Actions |
qa-api-crud-testing/
├── cypress/
│ └── e2e/
│ └── booking-crud.cy.ts # Cycle CRUD complet + cas d'erreur
├── .github/workflows/
│ └── api-tests.yml
├── cypress.config.ts
└── package.json
Auth (récupération du token)
│
▼
Create → POST /booking
│
▼
Read → GET /booking/:id (vérifie que les données créées sont bien restituées)
│
▼
Update → PUT /booking/:id (mise à jour complète, avec token)
│
▼
Read → GET /booking/:id (vérifie que la mise à jour est bien reflétée)
│
▼
Delete → DELETE /booking/:id (avec token)
│
▼
Read → GET /booking/:id (cas d'erreur attendu : 404, la ressource ne doit plus exister)
En complément, la suite vérifie aussi :
- le refus d'une requête de mise à jour/suppression sans authentification,
- le comportement sur un identifiant de ressource inexistant.
npm install
npm run test📸 Preuve d'exécution réelle
Mohamed Touaoua — QA Automaticien Ce projet fait partie de mon portfolio d'automatisation QA.