Coverage for backend/django/core/auxiliary/serializers/CustomPropertyPackageSerializer.py: 92%
44 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
1from ..models.CustomPropertyPackage import CustomPropertyPackage, CustomCompound, CompoundProperty, CustomPropertyPackageProperty, Kappa
2from ..models.FlowsheetState import FlowsheetState
3from core.serializer_base import StateOwnedModelSerializer
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(StateOwnedModelSerializer):
11 class Meta:
12 model = CompoundProperty
13 fields = '__all__'
14 read_only_fields = ['id', 'flowsheet', 'compound', 'compound_property_key']
16class CustomCompoundSerializer(StateOwnedModelSerializer):
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(
29 FlowsheetState.objects.get(id=flowsheet["flowsheet_state"]),
30 validated_data["name"],
31 )
34class CustomPropertyPackagePropertySerializer(StateOwnedModelSerializer):
36 class Meta:
37 model = CustomPropertyPackageProperty
38 fields = '__all__'
39 read_only_fields = ['id', 'flowsheet', 'package', 'package_property_key']
41class KappaSerializer(StateOwnedModelSerializer):
43 class Meta:
44 model = Kappa
45 fields = '__all__'
46 read_only_fields = ['id', 'flowsheet', 'package', 'compound1', 'compound2']
49class CustomPropertyPackageSerializer(StateOwnedModelSerializer):
50 kappas = KappaSerializer(many=True, read_only=True)
51 properties = CustomPropertyPackagePropertySerializer(many=True, read_only=True)
53 class Meta:
54 model = CustomPropertyPackage
55 fields = '__all__'
56 read_only_fields = ['id', 'flowsheet','compounds']
59 def create(self, validated_data):
60 flowsheet = get_current_flowsheet()
61 if flowsheet is None: 61 ↛ 62line 61 didn't jump to line 62 because the condition on line 61 was never true
62 raise Exception("Flowsheet context is not set")
63 return add_property_package(
64 FlowsheetState.objects.get(id=flowsheet["flowsheet_state"]),
65 validated_data["name"],
66 )