feat: add ClassifiedAdId value object and use it in ClassifiedAd

This commit is contained in:
2026-07-26 07:22:03 -04:00
parent 0b0c3802a4
commit b14b494592
6 changed files with 48 additions and 11 deletions

View File

@@ -4,11 +4,12 @@ from uuid import uuid4
import pytest
from domain.marketplace.classified_ad import ClassifiedAd
from domain.marketplace.classified_ad_id import ClassifiedAdId
from domain.marketplace.user_id import UserId
def test_classified_ad_creation():
ad_id = uuid4()
ad_id = ClassifiedAdId(value=uuid4())
owner_id = UserId(value=uuid4())
ad = ClassifiedAd(
@@ -28,24 +29,26 @@ def test_classified_ad_creation():
def test_classified_ad_can_not_be_created_without_id():
with pytest.raises(TypeError):
ad = ClassifiedAd(
ClassifiedAd(
_ownerId=UserId(value=uuid4()),
title="Title",
text="Text",
_price=Decimal("10.00"),
)
def test_classified_ad_can_not_be_created_without_owner_id():
with pytest.raises(TypeError):
ad = ClassifiedAd(
id=UserId(value=uuid4()),
ClassifiedAd(
id=ClassifiedAdId(value=uuid4()),
title="Title",
text="Text",
_price=Decimal("10.00"),
)
def test_classified_ad_can_be_created_without_price():
ad_id = uuid4()
ad_id = ClassifiedAdId(value=uuid4())
owner_id = UserId(value=uuid4())
ad = ClassifiedAd(
@@ -61,9 +64,10 @@ def test_classified_ad_can_be_created_without_price():
assert ad.text == "Test text content"
assert ad._price == Decimal("0.00")
def test_classified_ad_is_immutable():
ad = ClassifiedAd(
id=uuid4(),
id=ClassifiedAdId(value=uuid4()),
_ownerId=UserId(value=uuid4()),
title="Title",
text="Text",
@@ -78,7 +82,7 @@ def test_classified_ad_is_immutable():
def test_classified_ad_equality():
ad_id = uuid4()
ad_id = ClassifiedAdId(value=uuid4())
owner_id = UserId(value=uuid4())
ad1 = ClassifiedAd(