diff --git a/src/test/resources/features/abonnement.feature b/src/test/resources/features/abonnement.feature new file mode 100644 index 0000000..f682b47 --- /dev/null +++ b/src/test/resources/features/abonnement.feature @@ -0,0 +1 @@ +Feature: Gestion des abonnements sur le site \ No newline at end of file diff --git a/src/test/resources/features/avis.feature b/src/test/resources/features/avis.feature new file mode 100644 index 0000000..07adfaa --- /dev/null +++ b/src/test/resources/features/avis.feature @@ -0,0 +1,31 @@ +Feature: Gestion des avis sur les livres + + Background: + Given le système contient les avis suivants: + | clientId | livreId | note | commentaire | dateAchat | + | 123e4567-e89b-12d3-a456-426614174000 | 9781234567890 | 5 | Un chef-d'œuvre captivant | 2023-01-15 | + | 456e7891-a23c-34d5-b678-526714174111 | 9785678901234 | 4 | Très beau livre, inspirant | 2023-02-10 | + | 789e0123-b45d-56e7-c890-626814174222 | 9789876543210 | 3 | Intéressant mais un peu complexe | 2023-03-05 | + + Scenario: Enregistrer un nouvel avis sur un livre + When l'utilisateur enregistre un nouvel avis avec les informations suivantes : + | clientId | livreId | note | commentaire | dateAchat | + | abc12345-def6-7890-gh12-ijk345678900 | 9781234567890 | 4 | Très bon livre | 2023-04-12 | + Then un nouvel avis est enregistré + +#Ou alors dire dans le when : l'utilisateur modifie l'avis du client "x" sur le livre "x" ... + Scenario: Modifier un avis existant + When l'utilisateur "123e4567-e89b-12d3-a456-426614174000" modifie son avis sur le livre "9781234567890" en mettant à jour les informations suivantes : + | note | commentaire | + | 4 | Toujours excellent, mais un peu long | + Then l'avis du client "123e4567-e89b-12d3-a456-426614174000" sur le livre "9781234567890" doit être mis à jour avec les informations suivantes : + | clientId | livreId | note | commentaire | dateAchat | + | 123e4567-e89b-12d3-a456-426614174000 | 9781234567890 | 4 | Toujours excellent, mais un peu long | 2023-01-15 | + + Scenario: Supprimer un avis d'un client sur un livre + When l'utilisateur supprime l'avis du client "789e0123-b45d-56e7-c890-626814174222" sur le livre "9789876543210" + Then l'avis du client "789e0123-b45d-56e7-c890-626814174222" sur le livre "9789876543210" ne doit plus exister dans le système + And la liste des avis doit être mise à jour comme suit: + | clientId | livreId | note | commentaire | dateAchat | + | 123e4567-e89b-12d3-a456-426614174000 | 9781234567890 | 4 | Toujours excellent, mais un peu long | 2023-01-15 | + | 456e7891-a23c-34d5-b678-526714174111 | 9785678901234 | 4 | Très beau livre, inspirant | 2023-02-10 | diff --git a/src/test/resources/features/book.feature b/src/test/resources/features/book.feature index 6f3720b..d38182d 100644 --- a/src/test/resources/features/book.feature +++ b/src/test/resources/features/book.feature @@ -1,3 +1,4 @@ +# language : fr Feature: Gestion des livres de la bibliothèque Background: @@ -8,7 +9,7 @@ Feature: Gestion des livres de la bibliothèque | 9785678901234 | Le Petit Prince | Antoine de Saint-Exupéry | Folio | 1943-04-06 | 8.99 | 20 | Jeunesse, Philosophie | Un conte intemporel | Français | Scenario: Enregistrer un nouveau livre - When j'enregistre un nouveau livre avec toutes les données : + When l'utilisateur enregistre un nouveau livre avec toutes les données : | isbn | titre | auteur | editeur | datePublication | prix | stockInitial | categories | description | langue | | 9782253004201 | Les Fleurs du Mal | Charles Baudelaire | Garnier-Flammarion | 1857-06-25 | 9.90 | 15 | Poésie, Classique | Recueil de poèmes symbolistes | Français | Then un nouveau livre est enregistré @@ -29,9 +30,19 @@ Feature: Gestion des livres de la bibliothèque | 9782253004201 | Les Fleurs du Mal | Charles Baudelaire | Garnier-Flammarion | 1857-06-25 | 9.90 | 15 | Poésie, Classique | Recueil de poèmes symbolistes | Français | | 9781234567890 | L'Ombre du Vent | Carlos Ruiz Zafón | Actes Sud | 2001-04-01 | 20.50 | 10 | Roman, Drame | Un livre sur les souvenirs | Français | | 9785678901234 | Le Petit Prince | Antoine de Saint-Exupéry | Folio | 1943-04-06 | 8.99 | 20 | Jeunesse, Philosophie | Un conte intemporel | Français | + #ou faire comme dans client.feature : et le système à maintenant 3 livres Scenario: Récupérer les informations d'un livre par ISBN When l'utilisateur demande les informations du livre avec l'ISBN "9785678901234" Then l'utilisateur reçois les informations suivantes : | isbn | titre | auteur | editeur | datePublication | prix | stockInitial | categories | description | langue | | 9785678901234 | Le Petit Prince | Antoine de Saint-Exupéry | Folio | 1943-04-06 | 8.99 | 20 | Jeunesse, Philosophie | Un conte intemporel | Français | + + Scenario: Tentative de création d'un livre avec un ISBN invalide + When l'utilisateur essaie de créer un nouveau livre avec les informations suivantes : + | isbn | titre | auteur | editeur | datePublication | prix | stockInitial | categories | description | langue | + | ABCDEFGHIJKL | Les Fables de La Fontaine | Jean de La Fontaine | Larousse | 1668-01-01 | 12.50 | 20 | Poésie, Classique | Recueil de fables intemporelles | Français | + Then la création échoue + And l'utilisateur reçois un message d'erreur de validation contenant "Le numéro ISBN n'est pas valide" + And le système contient toujours 4 livres + diff --git a/src/test/resources/features/commande.feature b/src/test/resources/features/commande.feature new file mode 100644 index 0000000..ab57674 --- /dev/null +++ b/src/test/resources/features/commande.feature @@ -0,0 +1,43 @@ +Feature: Gestion des commandes de livres + + Background: + Given le système contient les commandes suivantes : + | commandeId | clientId | livreId | quantite | montantTotal | pointsFideliteGagnes | modePaiement | rue | ville | codePostal | pays | + | cde12345-6789-abcd-ef01-234567890abc | 123e4567-e89b-12d3-a456-426614174000 | 9781234567890 | 1 | 20.50 | 50 | CB | 10 Rue Victor Hugo | Paris | 75001 | France | + | cde23456-7890-bcde-f012-345678901bcd | 456e7891-a23c-34d5-b678-526714174111 | 9785678901234 | 2 | 17.98 | 100 | PAYPAL | 22 Avenue de la Gare | Lyon | 69002 | France | + | cde34567-9012-cdef-1234-567890123def | 789e0123-b45d-56e7-c890-626814174222 | 9782253004201 | 1 | 9.90 | 50 | CB | 5 Rue Lafayette | Lille | 59000 | France | + + Scenario: Passer une nouvelle commande + When un client passe une commande avec les informations suivantes : + | clientId | livreId | quantite | modePaiement | rue | ville | codePostal | pays | + | abc12345-def6-7890-gh12-ijk345678900 | 9782253004201 | 1 | CB | 21 Avenue Paul Eluard | Bobigny | 93000 | France | + Then une nouvelle commande est enregistrée avec les détails suivants : + | commandeId | montantTotal | pointsFideliteGagnes | + | cde45678-0123-def0-2345-678901234efg | 9.90 | 100 | + + Scenario: Modifier une commande existante + When l'utilisateur modifie la commande avec l'ID "cde12345-6789-abcd-ef01-234567890abc" en mettant à jour les informations suivantes : + | quantite | modePaiement | + | 2 | POINTS_FIDELITE | + Then la commande avec l'ID "cde12345-6789-abcd-ef01-234567890abc" doit avoir les nouvelles informations suivantes : + | commandeId | clientId | livreId | quantite | montantTotal | pointsFideliteGagnes | modePaiement | rue | ville | codePostal | pays | + | cde12345-6789-abcd-ef01-234567890abc | 123e4567-e89b-12d3-a456-426614174000 | 9781234567890 | 2 | 41.00 | 100 | POINTS_FIDELITE | 10 Rue Victor Hugo | Paris | 75001 | France | + + Scenario: Supprimer une commande + When l'utilisateur supprime la commande avec l'ID "cde23456-7890-bcde-f012-345678901bcd" + Then la commande avec l'ID "cde23456-7890-bcde-f012-345678901bcd" ne doit plus exister dans le système + And la liste des commandes doit être mise à jour comme suit : + | commandeId | clientId | livreId | quantite | montantTotal | pointsFideliteGagnes | modePaiement | rue | ville | codePostal | pays | + | cde12345-6789-abcd-ef01-234567890abc | 123e4567-e89b-12d3-a456-426614174000 | 9781234567890 | 1 | 20.50 | 100 | CB | 10 Rue Victor Hugo | Paris | 75001 | France | + | cde34567-9012-cdef-1234-567890123def | 789e0123-b45d-56e7-c890-626814174222 | 9782253004201 | 1 | 9.90 | 200 | CB | 5 Rue Lafayette | Lille | 59000 | France | + | cde45678-0123-def0-2345-678901234efg | abc12345-def6-7890-gh12-ijk345678900 | 9782253004201 | 1 | 9.90 | 200 | CB | 21 Avenue Paul Eluard | Bobigny | 93000 | France | + +#Demander a Maxime : comment faire en sorte de faire le paiement? on regarde les infos du client avec l'uuid ou le num? ou alors pas besoin de faire car déjà présent dans client.feature (je pense pas car ici c'est confirmation pour paiement) + Scenario: Tentative de paiement avec des points de fidélité insuffisants + When le client "456e7891-a23c-34d5-b678-526714174111" tente de passer une commande avec les informations suivantes : + | livreId | quantite | modePaiement | rue | ville | codePostal | pays | + | 9782253004201 | 1 | POINTS_FIDELITE | 30 Boulevard Haussmann | Paris | 75009 | France | + Then le paiement échoue + And je reçois un message d'erreur indiquant "Impossible d'utiliser 200 points alors que le solde est de 50 point" + And le client "456e7891-a23c-34d5-b678-526714174111" possède toujours 50 point de fidélité +