diff options
Diffstat (limited to 'backend/tests/test_api.py')
| -rw-r--r-- | backend/tests/test_api.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/backend/tests/test_api.py b/backend/tests/test_api.py index 66c021f..af43975 100644 --- a/backend/tests/test_api.py +++ b/backend/tests/test_api.py @@ -897,3 +897,46 @@ def test_get_valuation_missing_multiples_data(monkeypatch) -> None: assert result["ev_ebitda"]["available"] is False assert result["ev_revenue"]["available"] is False assert result["price_to_book"]["available"] is False + + +def test_valuation_route_returns_structure(monkeypatch) -> None: + monkeypatch.setattr( + main.data_service, + "get_valuation", + lambda symbol: { + "symbol": "AAPL", + "current_price": 150.0, + "shares_outstanding": 15_000_000_000.0, + "dcf": { + "available": True, + "intrinsic_value_per_share": 182.0, + "enterprise_value": 2_800_000_000_000.0, + "equity_value": 2_750_000_000_000.0, + "net_debt": 50_000_000_000.0, + "cash_and_equivalents": 100_000_000_000.0, + "total_debt": 150_000_000_000.0, + "terminal_value_pv": 2_000_000_000_000.0, + "fcf_pv_sum": 800_000_000_000.0, + "growth_rate_used": 0.082, + "base_fcf": 110_000_000_000.0, + "wacc": 0.10, + "terminal_growth": 0.03, + "error": None, + }, + "ev_ebitda": { + "available": True, + "implied_price_per_share": 178.0, + "implied_ev": 2_700_000_000_000.0, + "equity_value": 2_650_000_000_000.0, + "net_debt": 50_000_000_000.0, + "multiple_used": 20.0, + }, + "ev_revenue": {"available": False}, + "price_to_book": {"available": False}, + }, + ) + result = main.ticker_valuation("AAPL") + assert result["symbol"] == "AAPL" + assert result["dcf"]["intrinsic_value_per_share"] == 182.0 + assert result["ev_ebitda"]["multiple_used"] == 20.0 + assert result["ev_revenue"]["available"] is False |
