Add ActivityLog fixtures and tests for logging activities
Introduce a new pytest fixture for creating ActivityLog entries. Add comprehensive tests to verify ActivityLog creation and logging functionality, including user, event, and guest activities. Ensure proper test coverage for key methods and representations.
This commit is contained in:
@@ -1,10 +1,13 @@
|
||||
# tests/conftest.py
|
||||
import pytest
|
||||
import uuid
|
||||
from datetime import datetime, timezone
|
||||
|
||||
import pytest
|
||||
|
||||
from app.models import GiftItem, GiftStatus, GiftPriority, RSVP, RSVPStatus, EventMedia, MediaType, MediaPurpose, \
|
||||
EventTheme, Guest, GuestStatus, ActivityType, ActivityLog
|
||||
from app.models.user import User
|
||||
from app.utils.test_utils import setup_test_db, teardown_test_db
|
||||
from app.models import GiftItem, GiftStatus, GiftPriority, RSVP, RSVPStatus, EventMedia, MediaType, MediaPurpose, \
|
||||
EventTheme, Guest, GuestStatus
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
@@ -139,10 +142,6 @@ def event_theme_fixture(db_session):
|
||||
db_session.commit()
|
||||
return event_theme
|
||||
|
||||
import uuid
|
||||
from datetime import datetime, timezone
|
||||
from app.models.guest import Guest, GuestStatus
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def guest_fixture(db_session, mock_user):
|
||||
@@ -169,4 +168,28 @@ def guest_fixture(db_session, mock_user):
|
||||
)
|
||||
db_session.add(guest)
|
||||
db_session.commit()
|
||||
return guest
|
||||
return guest
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def activity_log_fixture(db_session, mock_user, guest_fixture):
|
||||
"""
|
||||
Fixture to create and return a default ActivityLog entry.
|
||||
"""
|
||||
activity_log_entry = ActivityLog(
|
||||
id=uuid.uuid4(),
|
||||
activity_type=ActivityType.USER_LOGIN,
|
||||
description="User successfully logged in.",
|
||||
event_id=None,
|
||||
user_id=mock_user.id,
|
||||
guest_id=None,
|
||||
target_id=None,
|
||||
target_type=None,
|
||||
ip_address="192.168.1.1",
|
||||
user_agent="Mozilla/5.0",
|
||||
activity_data={"extra_info": "Login from web app"},
|
||||
created_at=datetime.now(timezone.utc)
|
||||
)
|
||||
db_session.add(activity_log_entry)
|
||||
db_session.commit()
|
||||
return activity_log_entry
|
||||
|
||||
Reference in New Issue
Block a user