You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.8 KiB

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