Coverage for backend/django/Economics/property_events.py: 100%

24 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2026-06-23 21:51 +0000

1from __future__ import annotations 

2 

3from core.auxiliary.models.PropertyInfo import PropertyInfo 

4from core.auxiliary.models.PropertyValue import PropertyValue 

5from Economics.costing.capital.generated_lines import sync_generated_capital_lines_for_property 

6from Economics.costing.operating.stream_properties import ( 

7 disconnect_operating_lines_for_deleted_property, 

8 sync_operating_lines_for_property, 

9) 

10from Economics.results.services.lifecycle.runs import mark_result_runs_stale_for_study 

11 

12 

13def property_info_saved(property_info: PropertyInfo) -> None: 

14 _sync_generated_capital(property_info) 

15 sync_operating_lines_for_property(property_info) 

16 

17 

18def property_info_deleting(property_info: PropertyInfo) -> None: 

19 disconnect_operating_lines_for_deleted_property(property_info) 

20 

21 

22def property_info_deleted(property_info: PropertyInfo) -> None: 

23 _sync_generated_capital(property_info) 

24 

25 

26def property_value_saved(property_value: PropertyValue) -> None: 

27 property_info = property_value.property 

28 _sync_generated_capital(property_info) 

29 sync_operating_lines_for_property(property_info) 

30 

31 

32def property_value_deleted(property_value: PropertyValue) -> None: 

33 property_info = property_value.property 

34 _sync_generated_capital(property_info) 

35 sync_operating_lines_for_property(property_info) 

36 

37 

38def _sync_generated_capital(property_info: PropertyInfo) -> None: 

39 for study in sync_generated_capital_lines_for_property(property_info): 

40 mark_result_runs_stale_for_study(study=study, reason="flowsheet_property_changed")