| from unittest.mock import patch |
|
|
| from dashboard.market_read import build |
|
|
|
|
| def _brief() -> dict: |
| return { |
| "filing_date": "2026-05-20", |
| "market_expectations": {}, |
| } |
|
|
|
|
| def _metrics(status="CHECK_REQUIRED", warnings=None) -> dict: |
| return { |
| "filing_date": "2026-05-20", |
| "revenue": 44_062_000_000.0, |
| "eps": 1.20, |
| "data_quality_status": status, |
| "quality_warnings": warnings or [], |
| } |
|
|
|
|
| @patch("storage.metrics_db.get_metrics") |
| def test_build_uses_unwarned_fields_from_check_required_snapshot(mock_get_metrics): |
| mock_get_metrics.return_value = _metrics( |
| warnings=["free_cash_flow:fallback_non_sec"] |
| ) |
|
|
| result = build("NVDA", _brief()) |
|
|
| assert result["actual_rev_bn"] == 44.062 |
| assert result["actual_eps"] == 1.20 |
|
|
|
|
| @patch("storage.metrics_db.get_metrics") |
| def test_build_masks_only_warned_eps_from_check_required_snapshot(mock_get_metrics): |
| mock_get_metrics.return_value = _metrics(warnings=["eps:fallback_non_sec"]) |
|
|
| result = build("NVDA", _brief()) |
|
|
| assert result["actual_rev_bn"] == 44.062 |
| assert result["actual_eps"] is None |
|
|
|
|
| @patch("storage.metrics_db.get_metrics") |
| def test_build_hides_legacy_unverified_snapshot(mock_get_metrics): |
| mock_get_metrics.return_value = _metrics(status="LEGACY_UNVERIFIED") |
|
|
| result = build("NVDA", _brief()) |
|
|
| assert result["actual_rev_bn"] is None |
| assert result["actual_eps"] is None |
|
|