bmc_hub/tests/test_order_economic_safety_config.py

36 lines
1.5 KiB
Python

def test_order_export_inherits_global_safety_flags_when_order_flags_are_unset(monkeypatch):
from app.modules.orders.backend import economic_export
settings = economic_export.settings
monkeypatch.setattr(settings, "ECONOMIC_READ_ONLY", False)
monkeypatch.setattr(settings, "ECONOMIC_DRY_RUN", False)
monkeypatch.setattr(settings, "ORDRE_ECONOMIC_READ_ONLY", True)
monkeypatch.setattr(settings, "ORDRE_ECONOMIC_DRY_RUN", True)
fields_set = set(settings.model_fields_set)
fields_set.discard("ORDRE_ECONOMIC_READ_ONLY")
fields_set.discard("ORDRE_ECONOMIC_DRY_RUN")
monkeypatch.setattr(settings, "__pydantic_fields_set__", fields_set)
service = economic_export.OrdreEconomicExportService()
assert service.read_only is False
assert service.dry_run is False
def test_order_export_respects_explicit_order_safety_flags(monkeypatch):
from app.modules.orders.backend import economic_export
settings = economic_export.settings
monkeypatch.setattr(settings, "ECONOMIC_READ_ONLY", False)
monkeypatch.setattr(settings, "ECONOMIC_DRY_RUN", False)
monkeypatch.setattr(settings, "ORDRE_ECONOMIC_READ_ONLY", True)
monkeypatch.setattr(settings, "ORDRE_ECONOMIC_DRY_RUN", True)
fields_set = set(settings.model_fields_set)
fields_set.update({"ORDRE_ECONOMIC_READ_ONLY", "ORDRE_ECONOMIC_DRY_RUN"})
monkeypatch.setattr(settings, "__pydantic_fields_set__", fields_set)
service = economic_export.OrdreEconomicExportService()
assert service.read_only is True
assert service.dry_run is True