Add tests for Guest model and corresponding fixtures
Introduce unit tests for the Guest model covering properties, methods, and behaviors such as creation, status updates, and permissions. Add `guest_fixture` in `conftest.py` to streamline reusable test setup for Guest instances.
This commit is contained in:
@@ -4,7 +4,7 @@ import uuid
|
||||
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
|
||||
EventTheme, Guest, GuestStatus
|
||||
|
||||
|
||||
@pytest.fixture(scope="function")
|
||||
@@ -138,3 +138,35 @@ def event_theme_fixture(db_session):
|
||||
db_session.add(event_theme)
|
||||
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):
|
||||
"""
|
||||
Fixture to create and return a default Guest instance.
|
||||
"""
|
||||
guest = Guest(
|
||||
id=uuid.uuid4(),
|
||||
event_id=uuid.uuid4(),
|
||||
invited_by=mock_user.id,
|
||||
full_name="John Doe",
|
||||
email="johndoe@example.com",
|
||||
phone="1234567890",
|
||||
invitation_code="INV123456",
|
||||
status=GuestStatus.INVITED,
|
||||
max_additional_guests=2,
|
||||
actual_additional_guests=1,
|
||||
invitation_sent_at=datetime.now(timezone.utc),
|
||||
dietary_restrictions="None",
|
||||
notes="VIP Guest",
|
||||
custom_fields={"allergies": "None", "special_request": "Near the stage"},
|
||||
is_blocked=False,
|
||||
can_bring_guests=True,
|
||||
)
|
||||
db_session.add(guest)
|
||||
db_session.commit()
|
||||
return guest
|
||||
Reference in New Issue
Block a user