Files

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"