# 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 j’envoie 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 l’ID 9783161484100 existe When j’envoie 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 j’envoie 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 j’envoie 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 qu’un livre avec l’ISBN 9783161484100 existe déjà dans le système When j’envoie 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 qu’un livre avec l’ISBN 9783161484100 existe dans le système When j’envoie 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 |