feature suite

This commit is contained in:
2025-06-12 12:59:07 +02:00
parent 80d857747c
commit 0b1d59390f
3 changed files with 208 additions and 0 deletions

View File

@@ -0,0 +1,91 @@
# language: en
Feature: Gestion des livres
Backgroud:
Given Le systéme possède comme livre :
| isbn | title | author | publisher | publicationDate | price | quantity | categories | description | language |
| 999 | Bob | Boby | Nathan | 2025-06-12 | 1.5 | 0 | FICTION, THRILLER | blabla | fr |
| 9783161484100 | Le Petit Prince | Antoine de Saint-Exupery | Gallimard | 1943-04-06 | 12.5 | 100 | FICTION, CHILDRENS | un conte poetique et philosophique | fr |
Scenario: Récupérer tous les livres avec pagination
When jenvoie une requête GET vers "/api/books?page=0&size=10"
Then le code de réponse doit être 200
And la réponse doit contenir le champ "content"
Scenario: Récupérer un livre par son identifiant
Given que le livre avec lID 9783161484100 existe
When jenvoie une requête GET vers "/api/books/9783161484100"
Then le code de réponse doit être 200
And la réponse doit contenir :
| isbn | 9783161484100 |
| title | Le Petit Prince |
| author | Antoine de Saint-Exupery |
| publisher | Gallimard |
| publicationDate | 1943-04-06 |
| price | 12.5 |
| quantity | 100 |
| categories | FICTION,CHILDRENS |
| description | Un conte poetique et philosophique |
| language | fr |
Scenario: Ajouter un nouveau livre
When jenvoie une requête POST vers "/api/books" :
| isbn | 66666666666666 |
| title | Le Grand Roi |
| author | Saint de Exupery |
| publisher | Mard |
| publicationDate | 1993-06-06 |
| price | 10.5 |
| quantity | 15 |
| categories | FICTION |
| description | Un conte |
| language | fr |
Then le code de réponse doit être 201
And le systéme doit avoir 3 livres
Scenario: Ajouter un nouveau livre mais cela cause l'erreur 400 à cause d'une mauvaise entrée
When jenvoie une requête POST vers "/api/books" mais je met des informations incorrect:
| isbn | 0000000000000 |
| title | Le Petit Prince |
| author | Antoine de Saint-Exupery |
| publisher | Gallimard |
| publicationDate | 19430406 |
| price | -12.5 |
| quantity | 100 |
| categories | TeSt |
| description | Un conte poetique et philosophique |
| language | fr |
Then le code de réponse doit être 400
And la réponse doit contenir le message :
| typeException | BadRequestException |
Scenario: Ajouter un livre déjà existant
Given quun livre avec lISBN 9783161484100 existe déjà dans le système
When jenvoie une requête POST vers "/api/books" d'un livre qui existe déjà:
| isbn | 9783161484100 |
| title | Le Petit Prince |
| author | Antoine de Saint-Exupery |
| publisher | Gallimard |
| publicationDate | 1943-04-06 |
| price | 12.5 |
| quantity | 100 |
| categories | FICTION |
| description | Un conte poetique |
| language | fr |
Then le code de réponse doit être 406
And la réponse doit contenir :
| typeException | ConflictException |
Scenario: Récupérer un livre existant par son ID
Given quun livre avec lISBN 9783161484100 existe dans le système
When jenvoie une requête GET vers "/api/books/9783161484100"
Then le code de réponse doit être 200
And la réponse doit contenir :
| isbn | 9783161484100 |
| title | Le Petit Prince |
| author | Antoine de Saint-Exupery |
| publisher | Gallimard |
| publicationDate | 1943-04-06 |
| price | 12.5 |
| quantity | 100 |
| language | fr |