Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔄 QA API CRUD Testing

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.


🎯 Objectifs

  • 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).

🧱 Stack technique

Domaine Technologie
Requêtes API Cypress (cy.request)
Langage TypeScript
CI/CD GitHub Actions

📂 Structure du projet

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

🔄 Cycle testé

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.

🚀 Exécution

npm install
npm run test

📸 Preuve d'exécution réelle

CrudSummary CrudRun

👤 Auteur

Mohamed Touaoua — QA Automaticien Ce projet fait partie de mon portfolio d'automatisation QA.

About

Suite de tests API couvrant un cycle CRUD complet (Create, Read, Update, Delete) avec gestion de l'authentification, cas nominaux et cas d'erreur.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages