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é 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