You've already forked RekomenciBackend
37 lines
883 B
Python
37 lines
883 B
Python
from datetime import UTC, datetime
|
|
from uuid import UUID, uuid4
|
|
|
|
import pytest
|
|
|
|
from template_project.application.common.entity import Entity, to_entity
|
|
from template_project.application.common.errors import EntityAlreadyDeletedError
|
|
|
|
|
|
@to_entity
|
|
class DummyEntity(Entity[UUID]):
|
|
name: str
|
|
|
|
|
|
def test_entity_allows_not_deleted_entities() -> None:
|
|
entity = DummyEntity(
|
|
id=uuid4(),
|
|
created_at=datetime.now(tz=UTC),
|
|
name="Alice",
|
|
)
|
|
|
|
entity.ensure_not_deleted()
|
|
|
|
|
|
def test_entity_raise_for_deleted_entities() -> None:
|
|
entity = DummyEntity(
|
|
id=uuid4(),
|
|
created_at=datetime.now(tz=UTC),
|
|
deleted_at=datetime.now(tz=UTC),
|
|
name="Bob",
|
|
)
|
|
|
|
with pytest.raises(EntityAlreadyDeletedError) as exc_info:
|
|
entity.ensure_not_deleted()
|
|
|
|
assert str(exc_info.value) == "Entity 'DummyEntity' already deleted"
|