Coverage for website/payments/api/v2/admin/serializers/payable_detail.py: 100.00%

12 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from rest_framework.fields import CharField, DecimalField, ListField 

2from rest_framework.serializers import Serializer 

3 

4from members.api.v2.serializers.member import MemberSerializer 

5from payments.api.v2.admin.serializers.payment import PaymentAdminSerializer 

6from payments.models import Payment 

7 

8 

9class PayableAdminSerializer(Serializer): 

10 """Serializer to show payable information.""" 

11 

12 allowed_payment_types = ListField( 

13 child=CharField(), 

14 default=[ 

15 Payment.CASH, 

16 Payment.CARD, 

17 Payment.WIRE, 

18 ], 

19 ) 

20 amount = DecimalField(decimal_places=2, max_digits=1000, source="payment_amount") 

21 payer = MemberSerializer( 

22 admin=True, detailed=False, read_only=True, source="payment_payer" 

23 ) 

24 topic = CharField(source="payment_topic") 

25 notes = CharField(source="payment_notes") 

26 payment = PaymentAdminSerializer(read_only=True)