Add validation for display_order and EventMedia tests
Introduce a `validate_display_order` method to ensure a default value of 0 for `display_order`. Extend testing infrastructure with fixtures and unit tests for `EventMedia` to validate properties, metadata, and default behaviors.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from enum import Enum
|
||||
from sqlalchemy import Column, String, Integer, Boolean, ForeignKey, JSON, Enum as SQLEnum
|
||||
from sqlalchemy.dialects.postgresql import UUID
|
||||
from sqlalchemy.orm import relationship
|
||||
from sqlalchemy.orm import relationship, validates
|
||||
from .base import Base, TimestampMixin, UUIDMixin
|
||||
|
||||
|
||||
@@ -48,6 +48,11 @@ class EventMedia(Base, UUIDMixin, TimestampMixin):
|
||||
def __repr__(self):
|
||||
return f"<EventMedia {self.original_filename} ({self.media_type}) for event={self.event_id}>"
|
||||
|
||||
@validates('display_order')
|
||||
def validate_display_order(self, key, value):
|
||||
return value if value is not None else 0
|
||||
|
||||
|
||||
@property
|
||||
def is_image(self):
|
||||
return self.media_type == MediaType.IMAGE
|
||||
|
||||
Reference in New Issue
Block a user