Refactor event API and extend authentication utilities
Refactored the event API routes to improve error handling, add logging, and provide enhanced response structures with pagination. Updated tests to use new fixtures and include additional authentication utilities to facilitate testing with FastAPI's dependency injection. Also resolved issues with timezone awareness in event schemas.
This commit is contained in:
@@ -28,23 +28,23 @@ def test_create_event(db_session, mock_user):
|
||||
assert event.created_by == mock_user.id
|
||||
|
||||
|
||||
def test_get_event(db_session, event_fixture):
|
||||
def test_get_event(db_session, mock_event):
|
||||
"""Test retrieving an event by ID."""
|
||||
stored_event = crud_event.get(db=db_session, id=event_fixture.id)
|
||||
stored_event = crud_event.get(db=db_session, id=mock_event.id)
|
||||
assert stored_event
|
||||
assert stored_event.id == event_fixture.id
|
||||
assert stored_event.title == event_fixture.title
|
||||
assert stored_event.id == mock_event.id
|
||||
assert stored_event.title == mock_event.title
|
||||
|
||||
|
||||
def test_get_event_by_slug(db_session, event_fixture):
|
||||
def test_get_event_by_slug(db_session, mock_event):
|
||||
"""Test retrieving an event by slug."""
|
||||
stored_event = crud_event.get_by_slug(db=db_session, slug=event_fixture.slug)
|
||||
stored_event = crud_event.get_by_slug(db=db_session, slug=mock_event.slug)
|
||||
assert stored_event
|
||||
assert stored_event.id == event_fixture.id
|
||||
assert stored_event.slug == event_fixture.slug
|
||||
assert stored_event.id == mock_event.id
|
||||
assert stored_event.slug == mock_event.slug
|
||||
|
||||
|
||||
def test_get_user_events(db_session, event_fixture, mock_user):
|
||||
def test_get_user_events(db_session, mock_event, mock_user):
|
||||
"""Test retrieving all events for a specific user."""
|
||||
events = crud_event.get_user_events(
|
||||
db=db_session,
|
||||
@@ -53,10 +53,10 @@ def test_get_user_events(db_session, event_fixture, mock_user):
|
||||
limit=100
|
||||
)
|
||||
assert len(events) > 0
|
||||
assert any(event.id == event_fixture.id for event in events)
|
||||
assert any(event.id == mock_event.id for event in events)
|
||||
|
||||
|
||||
def test_update_event(db_session, event_fixture):
|
||||
def test_update_event(db_session, mock_event):
|
||||
"""Test updating an event."""
|
||||
update_data = EventUpdate(
|
||||
title="Updated Birthday Party",
|
||||
@@ -64,18 +64,18 @@ def test_update_event(db_session, event_fixture):
|
||||
)
|
||||
updated_event = crud_event.update(
|
||||
db=db_session,
|
||||
db_obj=event_fixture,
|
||||
db_obj=mock_event,
|
||||
obj_in=update_data
|
||||
)
|
||||
assert updated_event.title == "Updated Birthday Party"
|
||||
assert updated_event.description == "Updated description"
|
||||
|
||||
|
||||
def test_delete_event(db_session, event_fixture):
|
||||
def test_delete_event(db_session, mock_event):
|
||||
"""Test deleting an event."""
|
||||
event = crud_event.remove(db=db_session, id=event_fixture.id)
|
||||
assert event.id == event_fixture.id
|
||||
deleted_event = crud_event.get(db=db_session, id=event_fixture.id)
|
||||
event = crud_event.remove(db=db_session, id=mock_event.id)
|
||||
assert event.id == mock_event.id
|
||||
deleted_event = crud_event.get(db=db_session, id=mock_event.id)
|
||||
assert deleted_event is None
|
||||
|
||||
|
||||
@@ -115,11 +115,11 @@ def test_get_upcoming_events(db_session):
|
||||
assert event_date >= current_time
|
||||
|
||||
|
||||
def test_get_public_event(db_session, event_fixture):
|
||||
def test_get_public_event(db_session, mock_event):
|
||||
"""Test retrieving a public event."""
|
||||
public_event = crud_event.get_public_event(
|
||||
db=db_session,
|
||||
slug=event_fixture.slug
|
||||
slug=mock_event.slug
|
||||
)
|
||||
assert public_event is not None
|
||||
assert public_event.is_public is True
|
||||
|
||||
Reference in New Issue
Block a user