82 lines
1.9 KiB
Python
82 lines
1.9 KiB
Python
from decimal import Decimal
|
|
from uuid import uuid4
|
|
|
|
from domain.marketplace.domain_event import (
|
|
ClassifiedAdCreated,
|
|
ClassifiedAdPriceUpdated,
|
|
ClassifiedAdSentForReview,
|
|
ClassifiedAdTextUpdated,
|
|
ClassifiedAdTitleChanged,
|
|
DomainEvent,
|
|
)
|
|
|
|
|
|
def test_classified_ad_created_creation():
|
|
event_id = uuid4()
|
|
owner_id = uuid4()
|
|
|
|
event = ClassifiedAdCreated(id=event_id, owner_id=owner_id)
|
|
|
|
assert event.id == event_id
|
|
assert event.owner_id == owner_id
|
|
|
|
|
|
def test_classified_ad_title_changed_creation():
|
|
event_id = uuid4()
|
|
|
|
event = ClassifiedAdTitleChanged(id=event_id, title="New Title")
|
|
|
|
assert event.id == event_id
|
|
assert event.title == "New Title"
|
|
|
|
|
|
def test_classified_ad_text_updated_creation():
|
|
event_id = uuid4()
|
|
|
|
event = ClassifiedAdTextUpdated(id=event_id, ad_text="Updated text")
|
|
|
|
assert event.id == event_id
|
|
assert event.ad_text == "Updated text"
|
|
|
|
|
|
def test_classified_ad_price_updated_creation():
|
|
event_id = uuid4()
|
|
|
|
event = ClassifiedAdPriceUpdated(id=event_id, price=Decimal("99.99"))
|
|
|
|
assert event.id == event_id
|
|
assert event.price == Decimal("99.99")
|
|
|
|
|
|
def test_classified_ad_sent_for_review_creation():
|
|
event_id = uuid4()
|
|
|
|
event = ClassifiedAdSentForReview(id=event_id)
|
|
|
|
assert event.id == event_id
|
|
|
|
|
|
def test_domain_event_isinstance_check():
|
|
event = ClassifiedAdCreated(id=uuid4(), owner_id=uuid4())
|
|
|
|
assert isinstance(event, DomainEvent)
|
|
|
|
|
|
def test_domain_events_are_immutable():
|
|
event = ClassifiedAdCreated(id=uuid4(), owner_id=uuid4())
|
|
|
|
try:
|
|
event.id = uuid4() # type: ignore
|
|
assert False, "Should have raised FrozenInstanceError"
|
|
except AttributeError:
|
|
pass
|
|
|
|
|
|
def test_domain_event_equality():
|
|
event_id = uuid4()
|
|
|
|
event1 = ClassifiedAdSentForReview(id=event_id)
|
|
event2 = ClassifiedAdSentForReview(id=event_id)
|
|
|
|
assert event1 == event2
|