feat: add UserId value object and update ClassifiedAd to use it

This commit is contained in:
2026-07-26 07:09:37 -04:00
parent 69ab1233e6
commit fb8c221ee9
7 changed files with 57 additions and 29 deletions

View File

@@ -1,12 +1,13 @@
from decimal import Decimal
from uuid import UUID, uuid4
from uuid import uuid4
from domain.marketplace.classified_ad import ClassifiedAd
from domain.marketplace.user_id import UserId
def test_classified_ad_creation():
ad_id = uuid4()
owner_id = uuid4()
owner_id = UserId(value=uuid4())
ad = ClassifiedAd(
id=ad_id,
@@ -26,7 +27,7 @@ def test_classified_ad_creation():
def test_classified_ad_is_immutable():
ad = ClassifiedAd(
id=uuid4(),
_ownerId=uuid4(),
_ownerId=UserId(value=uuid4()),
title="Title",
text="Text",
_price=Decimal("10.00"),
@@ -41,7 +42,7 @@ def test_classified_ad_is_immutable():
def test_classified_ad_equality():
ad_id = uuid4()
owner_id = uuid4()
owner_id = UserId(value=uuid4())
ad1 = ClassifiedAd(
id=ad_id,
@@ -58,4 +59,4 @@ def test_classified_ad_equality():
_price=Decimal("10.00"),
)
assert ad1 == ad2
assert ad1 == ad2

25
tests/test_user_id.py Normal file
View File

@@ -0,0 +1,25 @@
from uuid import UUID, uuid4
from domain.marketplace.user_id import UserId
def test_user_id_creation():
user_id = UserId(value=uuid4())
assert isinstance(user_id.value, UUID)
def test_user_id_is_immutable():
user_id = UserId(value=uuid4())
try:
user_id.value = uuid4() # type: ignore
assert False, "Should have raised FrozenInstanceError"
except AttributeError:
pass
def test_user_id_equality():
uid = uuid4()
user_id1 = UserId(value=uid)
user_id2 = UserId(value=uid)
assert user_id1 == user_id2