V10.514 新增 Webcrumbs host data API
All checks were successful
CD Pipeline / deploy (push) Successful in 1m10s
All checks were successful
CD Pipeline / deploy (push) Successful in 1m10s
This commit is contained in:
@@ -39,9 +39,14 @@ def test_external_tool_bridge_pages_are_diagnostic_not_blank():
|
||||
assert "external-tool-diagnostics" in template
|
||||
assert "external-tool-action-grid" in template
|
||||
assert "def webcrumbs_status()" in route_source
|
||||
assert "@system_public_bp.route('/api/webcrumbs/marketplace-host-data')" in route_source
|
||||
assert "def webcrumbs_marketplace_host_data_api()" in route_source
|
||||
assert "build_webcrumbs_seed_data(limit=limit)" in route_source
|
||||
assert "'allowed_match_contract': 'exact/total_price/price_alert_exact'" in route_source
|
||||
assert "def webcrumbs_asset_proxy(asset_path)" in route_source
|
||||
assert "WEBCRUMBS_ASSET_ALLOWED_PREFIXES" in route_source
|
||||
assert "Webcrumbs 共用 UI Runtime" in service_source
|
||||
assert "def build_webcrumbs_seed_data(limit: int = 5)" in service_source
|
||||
assert "build_webcrumbs_marketplace_host_data" in service_source
|
||||
assert "plugin_previews" in service_source
|
||||
assert "finance.market-ticker-strip/0.1.0" in service_source
|
||||
|
||||
@@ -65,3 +65,19 @@ def test_webcrumbs_host_data_uses_empty_state_without_risks(monkeypatch):
|
||||
assert payload["marketSnapshot"][0]["freshness_status"] == "no_current_exact_risk"
|
||||
assert payload["aiCandidate"]["release_status"] == "blocked"
|
||||
assert "非同款、單位價或變體候選" in payload["aiCandidate"]["thesis"]
|
||||
|
||||
|
||||
def test_webcrumbs_seed_data_fallback_does_not_expose_demo_values(monkeypatch):
|
||||
from services import external_tool_payload_service as payload_service
|
||||
|
||||
def boom(limit):
|
||||
raise RuntimeError("db unavailable")
|
||||
|
||||
monkeypatch.setattr(payload_service, "build_webcrumbs_marketplace_host_data", boom)
|
||||
|
||||
payload = payload_service.build_webcrumbs_seed_data(limit=5)
|
||||
|
||||
assert payload["marketSnapshot"][0]["freshness_status"] == "diagnostic_unavailable"
|
||||
assert payload["aiCandidate"]["release_status"] == "blocked"
|
||||
assert "fallback demo" in payload["aiCandidate"]["thesis"]
|
||||
assert "TAIEX" not in str(payload)
|
||||
|
||||
Reference in New Issue
Block a user