Coverage for payment\serializers.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-13 15:18 +0200

1from rest_framework import serializers 

2 

3from api.serializers import PanierItemSerializer, TicketSerializer 

4 

5 

6class MockPaymentRequestSerializer(serializers.Serializer): 

7 """ 

8 Sérialiseur de la requête de paiement mock. 

9 On attend : 

10 - amount : montant total 

11 - force_failed : booléen pour simuler un échec 

12 - items : liste des éléments du panier (offre, événement, quantité) 

13 """ 

14 amount = serializers.DecimalField(max_digits=10, decimal_places=2) 

15 force_failed = serializers.BooleanField(required=False, default=False) 

16 items = PanierItemSerializer(many=True, required=False) 

17 

18 

19class MockPaymentResponseSerializer(serializers.Serializer): 

20 """ 

21 Sérialiseur de la réponse du paiement mock. 

22 On renvoie : 

23 - success : booléen succès/échec 

24 - gateway_response : réponse brute de la passerelle 

25 - tickets : liste des tickets créés (si paiement réussi) 

26 - errors : liste des erreurs éventuelles 

27 """ 

28 success = serializers.BooleanField() 

29 gateway_response = serializers.DictField() 

30 tickets = TicketSerializer(many=True, required=False) 

31 errors = serializers.ListField( 

32 child=serializers.DictField(), required=False 

33 )