forked from pierront/mylibrary-template
44 lines
4.5 KiB
Gherkin
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é
|
|
|