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

1from rest_framework import serializers 

2 

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 

7 

8 

9class ControlValueSerializer(StateOwnedModelSerializer): 

10 class Meta: 

11 model = ControlValue 

12 fields = "__all__" 

13 

14 def create(self, validated_data): 

15 """Create a control relation in the request's captured working state.""" 

16 

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 )