Coverage for backend/django/core/auxiliary/serializers/ControlValueSerializer.py: 67%
17 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 rest_framework import serializers
3from core.auxiliary.models.ControlValue import ControlValue
4from core.auxiliary.models.FlowsheetState import FlowsheetState
5from core.serializer_base import StateOwnedModelSerializer
6from core.validation import get_current_flowsheet
9class ControlValueSerializer(StateOwnedModelSerializer):
10 class Meta:
11 model = ControlValue
12 fields = "__all__"
14 def create(self, validated_data):
15 """Create a control relation in the request's captured working state."""
17 flowsheet_state = validated_data.pop("flowsheet_state", None)
18 if flowsheet_state is None: 18 ↛ 19line 18 didn't jump to line 19 because the condition on line 18 was never true
19 state_id = (get_current_flowsheet() or {}).get("flowsheet_state")
20 if state_id is None:
21 raise serializers.ValidationError("A flowsheet context is required.")
22 flowsheet_state = FlowsheetState.objects.get(pk=state_id)
23 return ControlValue.create(
24 **validated_data,
25 flowsheet_state=flowsheet_state,
26 )