44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
from fastapi.testclient import TestClient
|
|
from sqlalchemy.orm import Session
|
|
from tests.helpers import generators
|
|
|
|
|
|
def test_create_event(client: TestClient, db: Session) -> None:
|
|
user, unhashed_password = generators.create_user(db)
|
|
rsp = generators.login(db, user.username, unhashed_password)
|
|
access_token = rsp["access_token"]
|
|
refresh_token = rsp["refresh_token"]
|
|
|
|
response = client.post("/api/calendar/events",
|
|
json={
|
|
"title": "Test Event",
|
|
"start_time": "2024-03-20T15:00:00Z"
|
|
},
|
|
headers={"Authorization": f"Bearer {access_token}"},
|
|
cookies={"refresh_token": refresh_token},
|
|
)
|
|
assert response.status_code == 200
|
|
assert response.json()["title"] == "Test Event"
|
|
|
|
def test_get_events(client: TestClient, db: Session) -> None:
|
|
user, unhashed_password = generators.create_user(db)
|
|
rsp = generators.login(db, user.username, unhashed_password)
|
|
access_token = rsp["access_token"]
|
|
refresh_token = rsp["refresh_token"]
|
|
|
|
# Create an event to retrieve
|
|
client.post("/api/calendar/events",
|
|
json={
|
|
"title": "Test Event",
|
|
"start_time": "2024-03-20T15:00:00Z"
|
|
},
|
|
headers={"Authorization": f"Bearer {access_token}"},
|
|
cookies={"refresh_token": refresh_token},
|
|
)
|
|
|
|
response = client.get("/api/calendar/events",
|
|
headers={"Authorization": f"Bearer {access_token}"},
|
|
cookies={"refresh_token": refresh_token},
|
|
)
|
|
assert response.status_code == 200
|
|
assert len(response.json()) > 0 |