Files
nifodea/tests/test_scenarios.py
T
oqyude feb77ef217 T1: restructure to domain/application/infrastructure + schema version 1
- Move cashflow_model/ -> domain/
- Move engine/ -> application/
- Move cli/, sync/, ai/ -> infrastructure/
- Update all imports across codebase and tests
- Add version=1 to FinancialModel.to_dict() with migration hook in from_dict
- Update pyproject.toml: cf entry point and packages.find

Tests: 63/63 pass.
2026-10-08 16:34:10 +03:00

22 lines
841 B
Python

from application.scenarios import DEFAULT_SCENARIOS, ScenarioService
class TestScenarioService:
def test_baseline(self, sample_model):
service = ScenarioService(sample_model)
result = service.apply(DEFAULT_SCENARIOS["baseline"], months=6)
assert result["scenario"] == "baseline"
assert result["total_balance"] is not None
def test_compare_returns_three(self, sample_model):
service = ScenarioService(sample_model)
results = service.compare(months=6)
assert "baseline" in results
assert "optimistic" in results
assert "pessimistic" in results
def test_what_if(self, sample_model):
service = ScenarioService(sample_model)
result = service.what_if(income_mult=1.2, expense_mult=0.9, months=6)
assert result["scenario"] == "what-if"