from fastapi.testclient import TestClient from app.main import app def test_dashboard_is_served_at_root() -> None: with TestClient(app) as client: response = client.get("/") assert response.status_code == 200 assert "SillyHome Next" in response.text assert "Geräte, Lernen, Freigaben und Systemzustand" in response.text assert "So gehst du vor" not in response.text assert "Discovery & Einrichtung" in response.text assert "Entity-ID" in response.text assert "Geräteliste" in response.text assert "Liste durchsuchen" in response.text assert "Geräteliste bei Bedarf laden" in response.text assert "Vorschläge können Home Assistant stark abfragen" not in response.text assert '' not in response.text assert "Wie gewohnt bedienen" not in response.text assert "Ohne deine spätere Freigabe wird nichts geschaltet" not in response.text assert "Du wählst keine Sensoren und erstellst keine Regeln" not in response.text assert "Freigabestatus" in response.text assert "Sprache, Räume, Sensoren, Aktoren und Vorhersagen an einem Ort." in response.text assert "room-management" in response.text assert 'api("v1/actuators/settings/rooms")' in response.text assert "Auswahl speichern" in response.text assert "SillyHome übernehmen lassen" in response.text assert "Passende Home-Assistant-Automationen" in response.text assert "Pausieren" in response.text assert "Erkannte HA-Automationen" in response.text assert "Aktuelle Situation auswerten" in response.text assert "Kontext selbst festlegen" in response.text assert "Entity-IDs manuell ergänzen" in response.text assert "Zurück zur Übersicht" in response.text assert "Anderes Gerät" in response.text assert "manual-context-freeform" in response.text assert "Diese Kontext-Auswahl speichern" in response.text assert "manual-context-select" in response.text assert "Die Prüfung simuliert keinen Sensorwechsel" not in response.text assert "Kein frischer passender Sensorwechsel erkannt" in response.text assert "Vorhersage jetzt prüfen" not in response.text assert "record.behavior.activation_ready" in response.text assert "record.behavior.status ===" not in response.text assert "record.behavior_status || record.behavior?.status" in response.text assert 'api("v1/actuators")' not in response.text assert 'api("v1/actuators/summary")' in response.text assert 'api("v1/entities")' not in response.text assert 'details class="collapsible"' not in response.text assert 'class="group-panel"' in response.text assert "cachedDetailHtml" in response.text assert "refreshOverviewInBackground" in response.text assert "Automation-Entwurf" not in response.text assert "Manuelle Overrides" not in response.text