from test_main import * def test_add_pin(token): response = client.post("/pin/add", json={"title": "Test Pin", "description": "Test Description", "location": [0,0], "files": ["Test file 1"], "user_id": "6798e24b9d212d0f6a6b0abd"}, headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 200 data = response.json() assert "id" in data def test_list_pins(token): response = client.get("/pins", headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 200 data = response.json() assert isinstance(data, list) def test_get_pin(token): add_pin_response = client.post("/pin/add", json={"title": "Test Pin", "description": "Test Description", "location": [0,0], "files": ["Test file 1"], "user_id": "6798e24b9d212d0f6a6b0abd"}, headers={"Authorization": f"Bearer {token}"}) pin_id = add_pin_response.json()["id"] response = client.get(f"/pin/{pin_id}", headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 200 data = response.json() assert data["title"] == "Test Pin" assert data["description"] == "Test Description" assert data["location"] == [0,0] assert data["files"] == ["Test file 1"] def test_get_pin_wrong_format(token): response = client.get(f"/pin/randomIdThatDoesntExists", headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 422 def test_get_pin_unknown_id(token): response = client.get(f"/pin/123456789987654321abcdef", headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 404 def test_update_pin(token): add_pin_response = client.post("/pin/add", json={"title": "Test Pin", "description": "Test Description", "location": [0,0], "files": ["Test file 1"], "user_id": "6798e24b9d212d0f6a6b0abd"}, headers={"Authorization": f"Bearer {token}"}) pin_id = add_pin_response.json()["id"] update_response = client.patch(f"/pin/{pin_id}", json={"title": "Updated Pin", "description": "Updated Description", "location": [0,1], "files": ["Updated file 1"], "user_id": "6798e24b9d212d0f6a6b0abd"}, headers={"Authorization": f"Bearer {token}"}) assert update_response.status_code == 200 get_pin_response = client.get(f"/pin/{pin_id}", headers={"Authorization": f"Bearer {token}"}) data = get_pin_response.json() assert data["title"] == "Updated Pin" assert data["description"] == "Updated Description" assert data["location"] == [0,1] assert data["files"] == ["Updated file 1"] def test_update_wrong_format(token): response = client.get(f"/pin/randomIdThatDoesntExists", headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 422 def test_update_wrong_unknown_id(token): response = client.get(f"/pin/123456789987654321abcdef", headers={"Authorization": f"Bearer {token}"}) assert response.status_code == 404