Coverage for backend/django/core/auxiliary/serializers/CustomPropertyPackageSerializer.py: 92%
44 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-26 20:57 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-26 20:57 +0000
1from ..models.CustomPropertyPackage import CustomPropertyPackage, CustomCompound, CompoundProperty, CustomPropertyPackageProperty, Kappa
2from ..models.Flowsheet import Flowsheet
3from rest_framework.serializers import ModelSerializer
4from ..methods.custom_property_packages.create_property_package import add_property_package
5from ..methods.custom_property_packages.create_compound import add_compound
6from core.validation import get_current_flowsheet
9class CompoundPropertySerializer(ModelSerializer):
11 class Meta:
12 model = CompoundProperty
13 fields = '__all__'
14 read_only_fields = ['id', 'flowsheet', 'compound', 'compound_property_key']
16class CustomCompoundSerializer(ModelSerializer):
17 properties = CompoundPropertySerializer(many=True, read_only=True)
19 class Meta:
20 model = CustomCompound
21 fields = '__all__'
22 read_only_fields = ['id', 'flowsheet']
24 def create(self, validated_data):
25 flowsheet = get_current_flowsheet()
26 if flowsheet is None: 26 ↛ 27line 26 didn't jump to line 27 because the condition on line 26 was never true
27 raise Exception("Flowsheet context is not set")
28 return add_compound(Flowsheet.objects.get(id=flowsheet["flowsheet"]), validated_data["name"])
31class CustomPropertyPackagePropertySerializer(ModelSerializer):
33 class Meta:
34 model = CustomPropertyPackageProperty
35 fields = '__all__'
36 read_only_fields = ['id', 'flowsheet', 'package', 'package_property_key']
38class KappaSerializer(ModelSerializer):
40 class Meta:
41 model = Kappa
42 fields = '__all__'
43 read_only_fields = ['id', 'flowsheet', 'package', 'compound1', 'compound2']
46class CustomPropertyPackageSerializer(ModelSerializer):
47 kappas = KappaSerializer(many=True, read_only=True)
48 properties = CustomPropertyPackagePropertySerializer(many=True, read_only=True)
50 class Meta:
51 model = CustomPropertyPackage
52 fields = '__all__'
53 read_only_fields = ['id', 'flowsheet','compounds']
56 def create(self, validated_data):
57 flowsheet = get_current_flowsheet()
58 if flowsheet is None: 58 ↛ 59line 58 didn't jump to line 59 because the condition on line 58 was never true
59 raise Exception("Flowsheet context is not set")
60 return add_property_package(Flowsheet.objects.get(id=flowsheet["flowsheet"]), validated_data["name"])