Coverage for payment\serializers.py: 100%
11 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
1from rest_framework import serializers
3from api.serializers import PanierItemSerializer, TicketSerializer
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)
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 )