Coverage for backend/django/diagnostics/methods/update_diagnostic_result.py: 100%
11 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 diagnostics.models.DiagnosticsResult import DiagnosticsResult
2from ahuora_builder_types.flowsheet_schema import UnitDiagnosticsFinding
3from core.auxiliary.models.FlowsheetState import FlowsheetState
5def update_diagnostics_results(
6 flowsheet_state: FlowsheetState,
7 diagnostics: list[UnitDiagnosticsFinding],
8):
9 """Replace generated diagnostics for one captured flowsheet state."""
11 # Clear existing diagnostic results for the flowsheet
12 DiagnosticsResult.objects.filter(flowsheet_state=flowsheet_state).delete()
13 print(diagnostics)
15 # Create new diagnostic results based on the provided diagnostics
16 new_results = []
17 for finding in diagnostics:
18 new_result = DiagnosticsResult(
19 flowsheet_state=flowsheet_state,
20 propertyValue_id=finding.property_value_id,
21 severity=finding.severity,
22 message=finding.message
23 )
24 new_results.append(new_result)
26 DiagnosticsResult.objects.bulk_create(new_results)