"""Pre-split regression tests for /api/segments/* routes.""" from __future__ import annotations from fastapi.testclient import TestClient class TestSegments: def test_list_unauthenticated_returns_401(self, client: TestClient): assert client.get("/api/segments").status_code == 401 def test_create_unauthenticated_returns_401(self, client: TestClient): # Pydantic validates required fields before auth; send a valid body r = client.post("/api/segments", json={ "name": "Test", "polyline": [[0, 0], [1, 1]], "distance_m": 600.0, }) assert r.status_code == 401 def test_delete_unauthenticated_returns_401(self, client: TestClient): assert client.delete("/api/segments/some-id").status_code == 401 def test_get_efforts_unauthenticated_returns_401(self, client: TestClient): assert client.get("/api/segments/some-id/efforts").status_code == 401 def test_authenticated_list_returns_list(self, user_client: TestClient): r = user_client.get("/api/segments") assert r.status_code == 200 assert isinstance(r.json(), list) def test_create_short_segment_returns_400(self, user_client: TestClient): r = user_client.post("/api/segments", json={ "name": "Too short", "polyline": [[45.0, 7.0], [45.001, 7.001]], "distance_m": 100.0, }) assert r.status_code == 400 def test_missing_segment_returns_404(self, user_client: TestClient): assert user_client.get("/api/segments/no-such-segment").status_code == 404