Merge pull request 'commande' () from commande into main

Reviewed-on: 
This commit is contained in:
Jean-Luc NELET 2025-03-14 12:46:35 +01:00
commit 2fc6915cdb
2 changed files with 46 additions and 18 deletions
src/test/resources/features

@ -3,10 +3,10 @@ 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 |
| 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 :
@ -35,13 +35,13 @@ Feature: Gestion des livres de la bibliothèque
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 |
| 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 |
| 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

@ -1,11 +1,22 @@
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 | 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 |
| 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 :
@ -13,7 +24,7 @@ Feature: Gestion des commandes de livres
| 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 |
| 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 :
@ -21,18 +32,18 @@ Feature: Gestion des commandes de livres
| 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 |
| 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 | 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 |
| 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? ou alors pas besoin de faire car déjà présent dans client.feature (je pense pas car ici c'est confirmation pour paiement)
#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 |
@ -41,3 +52,20 @@ Feature: Gestion des commandes de livres
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