diff --git a/tests/test_web.py b/tests/test_web.py index 3bb5292..aa02058 100644 --- a/tests/test_web.py +++ b/tests/test_web.py @@ -81,10 +81,19 @@ def deps(mock_presets, mock_pipeline, mock_nam, mock_ir): @pytest.fixture -def client(deps): +def client(deps, monkeypatch): """TestClient with a fresh server per test.""" + # Mock hardware-dependent gathers so tests don't hang on bluetoothctl/nmcli + monkeypatch.setattr(WebServer, "_gather_wifi_state", lambda self: { + "connected": False, "ssid": None, "ip": None, "signal": 0, + "hotspot_active": False, "hotspot_ssid": None, "hotspot_clients": 0, + }) + monkeypatch.setattr(WebServer, "_gather_bt_state", lambda self: { + "available": False, "powered": False, "name": None, + "address": None, "discoverable": False, + "midi_enabled": False, "midi_running": False, + }) server = WebServer(deps) - # Use TestClient from starlette which FastAPI wraps from fastapi.testclient import TestClient test_client = TestClient(server._app) return test_client