Coverage for backend/django/core/auxiliary/serializers/PropertyInfoSerializer.py: 97%

32 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-12-18 04:00 +0000

1from rest_framework import serializers 

2from drf_spectacular.utils import extend_schema_field 

3from core.auxiliary.models.PropertyInfo import PropertyInfo, HistoricalValue 

4from core.auxiliary.models.PropertySet import PropertySet 

5from .PropertyValueSerializer import PropertyValueSerializer 

6from .RecycleDataSerializer import RecyclePropertySerializer 

7 

8class PropertyHistorySerializer(serializers.ModelSerializer): 

9 class Meta: 

10 model = HistoricalValue 

11 fields = ['value'] 

12 read_only_fields = ['value'] 

13 

14 

15class PropertyInfoSerializer(serializers.ModelSerializer): 

16 values = PropertyValueSerializer(many=True, read_only=True) 

17 recycleConnection = RecyclePropertySerializer(read_only=True) 

18 

19 class Meta: 

20 model = PropertyInfo 

21 fields = '__all__' 

22 read_only_fields = ['id', 'key', 'set'] 

23 

24 def update(self, instance: PropertyInfo, validated_data: dict): 

25 if "unit" in validated_data: 25 ↛ 27line 25 didn't jump to line 27 because the condition on line 25 was always true

26 instance.unit_conversion(validated_data.pop("unit")) 

27 super().update(instance, validated_data) 

28 

29 return instance 

30 

31class PropertySetSerializer(serializers.ModelSerializer): 

32 ContainedProperties = PropertyInfoSerializer(many=True) 

33 unspecifiedProperties = serializers.SerializerMethodField() 

34 

35 class Meta: 

36 model = PropertySet 

37 read_only_fields = ['id'] 

38 fields = '__all__' 

39 

40 def get_unspecifiedProperties(self, instance: PropertySet): 

41 return instance.get_unspecified_properties()