"""Tests du service météo et des endpoints."""


def test_health(client):
    r = client.get("/api/health")
    assert r.status_code == 200


def test_meteo_tableau_vide(client):
    """Le tableau fonctionne même si les tables sont vides."""
    r = client.get("/api/meteo/tableau")
    assert r.status_code == 200
    data = r.json()
    assert "rows" in data
    assert isinstance(data["rows"], list)
    # 15 lignes attendues (7 passé + J0 + 7 futur)
    assert len(data["rows"]) == 15


def test_meteo_station_current_vide(client):
    """Retourne null si aucune donnée station."""
    r = client.get("/api/meteo/station/current")
    assert r.status_code == 200
    # Peut être null ou un objet
    assert r.json() is None or isinstance(r.json(), dict)


def test_meteo_previsions(client):
    """Retourne une liste de jours de prévisions."""
    r = client.get("/api/meteo/previsions")
    assert r.status_code == 200
    data = r.json()
    assert "days" in data
