Coverage for website/sales/api/v2/serializers/user_shift.py: 92.31%

13 statements  

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

1from rest_framework import serializers 

2 

3from sales.api.v2.admin.serializers.shift import ProductListItemSerializer 

4from sales.models.shift import Shift 

5 

6 

7class UserShiftSerializer(serializers.ModelSerializer): 

8 class Meta: 

9 model = Shift 

10 fields = ( 

11 "pk", 

12 "title", 

13 "start", 

14 "end", 

15 "products", 

16 ) 

17 

18 title = serializers.SerializerMethodField("_get_title") 

19 

20 def _get_title(self, instance): 

21 return instance.title 

22 

23 start = serializers.DateTimeField(source="user_order_period.start", read_only=True) 

24 

25 end = serializers.DateTimeField(source="user_order_period.end", read_only=True) 

26 

27 products = ProductListItemSerializer( 

28 source="user_order_period.product_list.product_items", many=True, read_only=True 

29 )