feat: raise ClassifiedAdSentForReview event in request_to_publish
This commit is contained in:
@@ -10,6 +10,7 @@ from domain.marketplace.classified_ad_text import ClassifiedAdText
|
||||
from domain.marketplace.classified_ad_title import ClassifiedAdTitle
|
||||
from domain.marketplace.domain_event import (
|
||||
ClassifiedAdPriceUpdated,
|
||||
ClassifiedAdSentForReview,
|
||||
ClassifiedAdTextUpdated,
|
||||
ClassifiedAdTitleChanged,
|
||||
DomainEvent,
|
||||
@@ -48,7 +49,10 @@ class ClassifiedAd(Entity):
|
||||
def request_to_publish(self):
|
||||
self._ensure_valid_state()
|
||||
|
||||
return replace(self, state=ClassifiedAdState.PendingReview)
|
||||
updated = replace(self, state=ClassifiedAdState.PendingReview)
|
||||
return updated.raise_event(
|
||||
ClassifiedAdSentForReview(id=self.id.value)
|
||||
)
|
||||
|
||||
def set_title(self, title: ClassifiedAdTitle) -> ClassifiedAd:
|
||||
updated = replace(self, title=title)
|
||||
|
||||
@@ -153,6 +153,12 @@ def test_request_to_publish_sets_state_to_pending_review():
|
||||
|
||||
assert published.state == ClassifiedAdState.PendingReview
|
||||
|
||||
changes = published.get_changes()
|
||||
assert len(changes) == 1
|
||||
event = changes[0]
|
||||
assert isinstance(event, ClassifiedAdSentForReview)
|
||||
assert event.id == ad.id.value
|
||||
|
||||
|
||||
def test_request_to_publish_fails_when_title_empty():
|
||||
ad = ClassifiedAd(
|
||||
|
||||
Reference in New Issue
Block a user