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
« 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
8class PropertyHistorySerializer(serializers.ModelSerializer):
9 class Meta:
10 model = HistoricalValue
11 fields = ['value']
12 read_only_fields = ['value']
15class PropertyInfoSerializer(serializers.ModelSerializer):
16 values = PropertyValueSerializer(many=True, read_only=True)
17 recycleConnection = RecyclePropertySerializer(read_only=True)
19 class Meta:
20 model = PropertyInfo
21 fields = '__all__'
22 read_only_fields = ['id', 'key', 'set']
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)
29 return instance
31class PropertySetSerializer(serializers.ModelSerializer):
32 ContainedProperties = PropertyInfoSerializer(many=True)
33 unspecifiedProperties = serializers.SerializerMethodField()
35 class Meta:
36 model = PropertySet
37 read_only_fields = ['id']
38 fields = '__all__'
40 def get_unspecifiedProperties(self, instance: PropertySet):
41 return instance.get_unspecified_properties()