Files
mylibrary/src/test/resources/features/commande.feature

44 lines
4.5 KiB
Gherkin

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é