feat: add ClassifiedAdText value object and use it in ClassifiedAd

This commit is contained in:
2026-07-27 14:29:18 -04:00
parent ed83e021a0
commit 94ff7c83ce
5 changed files with 28 additions and 12 deletions

View File

@@ -5,6 +5,7 @@ import pytest
from domain.marketplace.classified_ad import ClassifiedAd
from domain.marketplace.classified_ad_id import ClassifiedAdId
from domain.marketplace.classified_ad_text import ClassifiedAdText
from domain.marketplace.classified_ad_title import ClassifiedAdTitle
from domain.marketplace.price import Price
from domain.marketplace.user_id import UserId
@@ -18,14 +19,14 @@ def test_classified_ad_creation():
id=ad_id,
_ownerId=owner_id,
title=ClassifiedAdTitle(title="Test Title"),
text="Test text content",
text=ClassifiedAdText(text="Test text content"),
price=Price(amount=Decimal("99.99")),
)
assert ad.id == ad_id
assert ad._ownerId == owner_id
assert ad.title == ClassifiedAdTitle(title="Test Title")
assert ad.text == "Test text content"
assert ad.text == ClassifiedAdText(text="Test text content")
assert ad.price == Price(amount=Decimal("99.99"))
@@ -34,7 +35,7 @@ def test_classified_ad_can_not_be_created_without_id():
ClassifiedAd(
_ownerId=UserId(value=uuid4()),
title=ClassifiedAdTitle(title="Title"),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("10.00")),
)
@@ -44,7 +45,7 @@ def test_classified_ad_can_not_be_created_without_owner_id():
ClassifiedAd(
id=ClassifiedAdId(value=uuid4()),
title=ClassifiedAdTitle(title="Title"),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("10.00")),
)
@@ -57,13 +58,13 @@ def test_classified_ad_can_be_created_without_price():
id=ad_id,
_ownerId=owner_id,
title=ClassifiedAdTitle(title="Test Title"),
text="Test text content",
text=ClassifiedAdText(text="Test text content"),
)
assert ad.id == ad_id
assert ad._ownerId == owner_id
assert ad.title == ClassifiedAdTitle(title="Test Title")
assert ad.text == "Test text content"
assert ad.text == ClassifiedAdText(text="Test text content")
assert ad.price == Price(amount=Decimal("0.00"))
@@ -73,7 +74,7 @@ def test_classified_ad_can_not_have_negative_price():
id=ClassifiedAdId(value=uuid4()),
_ownerId=UserId(value=uuid4()),
title=ClassifiedAdTitle(title="Title"),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("-10.00")),
)
@@ -83,7 +84,7 @@ def test_classified_ad_is_immutable():
id=ClassifiedAdId(value=uuid4()),
_ownerId=UserId(value=uuid4()),
title=ClassifiedAdTitle(title="Title"),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("10.00")),
)
@@ -102,14 +103,14 @@ def test_classified_ad_equality():
id=ad_id,
_ownerId=owner_id,
title=ClassifiedAdTitle(title="Title"),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("10.00")),
)
ad2 = ClassifiedAd(
id=ad_id,
_ownerId=owner_id,
title=ClassifiedAdTitle(title="Title"),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("10.00")),
)
@@ -123,6 +124,6 @@ def test_classified_ad_title_validation():
id=ClassifiedAdId(value=uuid4()),
_ownerId=UserId(value=uuid4()),
title=ClassifiedAdTitle(title=long_title),
text="Text",
text=ClassifiedAdText(text="Text"),
price=Price(amount=Decimal("10.00")),
)

View File

@@ -0,0 +1,7 @@
from domain.marketplace.classified_ad_text import ClassifiedAdText
def test_classified_ad_text_creation():
text = ClassifiedAdText(text="This is a classified ad description.")
assert text.text == "This is a classified ad description."