import pytest from planemapper.provisioning.portal import app @pytest.fixture def client(): app.config["TESTING"] = True with app.test_client() as c: yield c def test_index_returns_200(client) -> None: resp = client.get("/") assert resp.status_code == 200 def test_index_contains_form_fields(client) -> None: resp = client.get("/") data = resp.data.decode() assert 'name="location"' in data assert 'name="radius"' in data assert 'name="wifi_ssid"' in data assert 'name="wifi_password"' in data assert "Find location" in data assert "Set up device" in data def test_generate_204_redirects_to_index(client) -> None: resp = client.get("/generate_204") assert resp.status_code in (301, 302) assert resp.headers["Location"].endswith("/") def test_hotspot_detect_redirects_to_index(client) -> None: resp = client.get("/hotspot-detect.html") assert resp.status_code in (301, 302) def test_ncsi_redirects_to_index(client) -> None: resp = client.get("/ncsi.txt") assert resp.status_code in (301, 302) def test_unknown_route_redirects_to_index(client) -> None: resp = client.get("/some/random/path") assert resp.status_code in (301, 302)