"""Tests for workout logging routes.""" from fastapi.testclient import TestClient class TestLogSet: """Tests for POST /log.""" def test_log_set_requires_profile(self, client: TestClient) -> None: """POST /log should redirect to / without profile cookie.""" response = client.post( "/log", data={ "exercise_id": "1", "workout_day_id": "1", "set_number": "1", "reps": "8", "weight": "30 lbs", }, follow_redirects=False, ) assert response.status_code == 302 assert response.headers["location"] == "/" class TestLogEdit: """Tests for POST /log//edit.""" def test_edit_log_requires_profile(self, client: TestClient) -> None: """POST /log/1/edit should redirect to / without profile cookie.""" response = client.post( "/log/1/edit", data={"reps": "10", "weight": "35 lbs"}, follow_redirects=False, ) assert response.status_code == 302 assert response.headers["location"] == "/" class TestLogDelete: """Tests for POST /log//delete.""" def test_delete_log_requires_profile(self, client: TestClient) -> None: """POST /log/1/delete should redirect to / without profile cookie.""" response = client.post("/log/1/delete", follow_redirects=False) assert response.status_code == 302 assert response.headers["location"] == "/"