from __future__ import annotations

from fastapi.testclient import TestClient

from jarvis_gateway.main import create_app


def test_overview_stays_available_when_finance_live_is_unreachable(monkeypatch) -> None:
    monkeypatch.setenv("FINANCE_ADAPTER_MODE", "live_readonly")
    monkeypatch.setenv("FINANCE_API_BASE_URL", "http://127.0.0.1:9")
    client = TestClient(create_app())
    response = client.get("/api/overview")
    assert response.status_code == 200
    payload = response.json()
    finance = next(module for module in payload["modules"] if module["module_id"] == "finance")
    assert finance["status"] in {"offline", "degraded"}
    assert finance["source_health"]["reachable"] is False
    text = str(payload).lower()
    assert "/home/agent" not in text
    assert "token" not in text
