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 new file mode 100644 index 0000000..25f5672 --- /dev/null +++ b/src/test/resources/features/book.feature @@ -0,0 +1,48 @@ +# language : fr +Feature: Gestion des livres de la bibliothèque + + Background: + Given le système contient les livres suivants: + | isbn | titre | auteur | editeur | datePublication | prix | stockInitial | categories | description | langue | + | 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 | + | 9789876543210 | 1984 | George Orwell | Gallimard | 1949-06-08 | 15.99 | 5 | Science-Fiction | Une dystopie emblématique | 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 | + + Scenario: Enregistrer un nouveau livre + 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é + + Scenario: Modifier les informations d'un livre existant + When l'utilisateur modifie le livre avec l'ISBN "9782253004201" en mettant à jour les informations suivantes : + | editeur | prix | stockInitial | description | + | Le Livre de Poche | 12.50 | 20 | Recueil de poésie incontournable | + Then le livre avec l'ISBN "9782253004201" doit avoir les nouvelles informations suivantes : + | isbn | titre | auteur | editeur | datePublication | prix | stockInitial | categories | description | langue | + | 9782253004201 | Les Fleurs du Mal | Charles Baudelaire | Le Livre de Poche | 1857-06-25 | 12.50 | 20 | Poésie, Classique | Recueil de poésie incontournable | Français | + + Scenario: Supprimer un livre du système + When l'utilisateur supprime le livre avec l'ISBN "9789876543210" + Then le livre avec l'ISBN "9789876543210" ne doit plus exister dans le système + And la liste des livres doit être mise à jour comme suit: + | 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 | + | 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..e6e5a94 --- /dev/null +++ b/src/test/resources/features/commande.feature @@ -0,0 +1,71 @@ +Feature: Gestion des commandes de livres +#1€ = 1 pts de fidélité +#format AAAA-MM-JJ + 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 | 21 | CB | 10 Rue Victor Hugo | Paris | 75001 | France | + | cde23456-7890-bcde-f012-345678901bcd | 456e7891-a23c-34d5-b678-526714174111 | 9785678901234 | 2 | 17.98 | 18 | PAYPAL | 22 Avenue de la Gare | Lyon | 69002 | France | + | cde34567-9012-cdef-1234-567890123def | 789e0123-b45d-56e7-c890-626814174222 | 9782253004201 | 1 | 9.90 | 10 | CB | 5 Rue Lafayette | Lille | 59000 | France | + And les livres suivants : + | 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 | + | 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 | 1 | Jeunesse, Philosophie | Un conte intemporel | Français | + And les clients suivants : + | prenom | nom | numeroTelephone | pointsFidelite | + | Marie | Dupont | 0612345678 | 100 | + | Jean | Martin | 0687654321 | 50 | + | Sophie | Dubois | 0698765432 | 0 | + + 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 | 10 | + + 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 | 41 | 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 | 21 | CB | 10 Rue Victor Hugo | Paris | 75001 | France | + | cde34567-9012-cdef-1234-567890123def | 789e0123-b45d-56e7-c890-626814174222 | 9782253004201 | 1 | 9.90 | 10 | CB | 5 Rue Lafayette | Lille | 59000 | France | + | cde45678-0123-def0-2345-678901234efg | abc12345-def6-7890-gh12-ijk345678900 | 9782253004201 | 1 | 9.90 | 10 | 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? + 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és + + Scenario: Tentative de paiement avec un moyen de paiement invalide + When le client "123e4567-e89b-12d3-a456-426614174000" tente de passer une commande avec les informations suivantes : + | livreId | quantite | modePaiement | rue | ville | codePostal | pays | + | 9782253004201 | 1 | CRYPTO | 12 Rue des Lilas | Nantes | 44000 | France | + Then le paiement échoue + And je reçois un message d'erreur indiquant "Mode de paiement invalide : CRYPTO n'est pas accepté" + And aucune nouvelle commande n'est enregistrée + + Scenario: Tentative de commande avec un stock insuffisant + Given le livre avec l'ISBN "9785678901234" n'a que 1 exemplaire en stock + When le client "456e7891-a23c-34d5-b678-526714174111" tente de passer une commande avec les informations suivantes : + | livreId | quantite | modePaiement | rue | ville | codePostal | pays | + | 9785678901234 | 2 | CB | 18 Place du Capitole | Toulouse | 31000 | France | + Then la commande échoue + And je reçois un message d'erreur indiquant "Stock insuffisant : seulement 1 exemplaire disponible" + And aucune nouvelle commande n'est enregistrée +