amplegest / tests /test_market_read.py
Viney's picture
fix: expose CHECK_REQUIRED periods as field-level-disclosed evidence instead of hiding entire rows
d65dc97
Raw
History Blame Contribute Delete
1.44 kB
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