feat: use ClassifiedAdTitle value object for ClassifiedAd.title
This commit is contained in:
@@ -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_title import ClassifiedAdTitle
|
||||
from domain.marketplace.price import Price
|
||||
from domain.marketplace.user_id import UserId
|
||||
|
||||
@@ -16,14 +17,14 @@ def test_classified_ad_creation():
|
||||
ad = ClassifiedAd(
|
||||
id=ad_id,
|
||||
_ownerId=owner_id,
|
||||
title="Test Title",
|
||||
title=ClassifiedAdTitle(title="Test Title"),
|
||||
text="Test text content",
|
||||
price=Price(amount=Decimal("99.99")),
|
||||
)
|
||||
|
||||
assert ad.id == ad_id
|
||||
assert ad._ownerId == owner_id
|
||||
assert ad.title == "Test Title"
|
||||
assert ad.title == ClassifiedAdTitle(title="Test Title")
|
||||
assert ad.text == "Test text content"
|
||||
assert ad.price == Price(amount=Decimal("99.99"))
|
||||
|
||||
@@ -32,7 +33,7 @@ def test_classified_ad_can_not_be_created_without_id():
|
||||
with pytest.raises(TypeError):
|
||||
ClassifiedAd(
|
||||
_ownerId=UserId(value=uuid4()),
|
||||
title="Title",
|
||||
title=ClassifiedAdTitle(title="Title"),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("10.00")),
|
||||
)
|
||||
@@ -42,7 +43,7 @@ def test_classified_ad_can_not_be_created_without_owner_id():
|
||||
with pytest.raises(TypeError):
|
||||
ClassifiedAd(
|
||||
id=ClassifiedAdId(value=uuid4()),
|
||||
title="Title",
|
||||
title=ClassifiedAdTitle(title="Title"),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("10.00")),
|
||||
)
|
||||
@@ -55,13 +56,13 @@ def test_classified_ad_can_be_created_without_price():
|
||||
ad = ClassifiedAd(
|
||||
id=ad_id,
|
||||
_ownerId=owner_id,
|
||||
title="Test Title",
|
||||
title=ClassifiedAdTitle(title="Test Title"),
|
||||
text="Test text content",
|
||||
)
|
||||
|
||||
assert ad.id == ad_id
|
||||
assert ad._ownerId == owner_id
|
||||
assert ad.title == "Test Title"
|
||||
assert ad.title == ClassifiedAdTitle(title="Test Title")
|
||||
assert ad.text == "Test text content"
|
||||
assert ad.price == Price(amount=Decimal("0.00"))
|
||||
|
||||
@@ -71,7 +72,7 @@ def test_classified_ad_can_not_have_negative_price():
|
||||
ClassifiedAd(
|
||||
id=ClassifiedAdId(value=uuid4()),
|
||||
_ownerId=UserId(value=uuid4()),
|
||||
title="Title",
|
||||
title=ClassifiedAdTitle(title="Title"),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("-10.00")),
|
||||
)
|
||||
@@ -81,7 +82,7 @@ def test_classified_ad_is_immutable():
|
||||
ad = ClassifiedAd(
|
||||
id=ClassifiedAdId(value=uuid4()),
|
||||
_ownerId=UserId(value=uuid4()),
|
||||
title="Title",
|
||||
title=ClassifiedAdTitle(title="Title"),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("10.00")),
|
||||
)
|
||||
@@ -100,16 +101,28 @@ def test_classified_ad_equality():
|
||||
ad1 = ClassifiedAd(
|
||||
id=ad_id,
|
||||
_ownerId=owner_id,
|
||||
title="Title",
|
||||
title=ClassifiedAdTitle(title="Title"),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("10.00")),
|
||||
)
|
||||
ad2 = ClassifiedAd(
|
||||
id=ad_id,
|
||||
_ownerId=owner_id,
|
||||
title="Title",
|
||||
title=ClassifiedAdTitle(title="Title"),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("10.00")),
|
||||
)
|
||||
|
||||
assert ad1 == ad2
|
||||
|
||||
|
||||
def test_classified_ad_title_validation():
|
||||
long_title = "a" * 101
|
||||
with pytest.raises(ValueError):
|
||||
ClassifiedAd(
|
||||
id=ClassifiedAdId(value=uuid4()),
|
||||
_ownerId=UserId(value=uuid4()),
|
||||
title=ClassifiedAdTitle(title=long_title),
|
||||
text="Text",
|
||||
price=Price(amount=Decimal("10.00")),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user