Coverage for src/tests/modules/club/test_get_member.py: 100%
26 statements
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1"""Module for testing the use case 'Get Member'."""
3import pytest
5from kwai_bc_club.domain.member import MemberEntity
6from kwai_bc_club.get_member import GetMember, GetMemberCommand
7from kwai_bc_club.repositories.member_db_repository import MemberDbRepository
8from kwai_bc_club.repositories.member_repository import MemberRepository
9from kwai_core.db.database import Database
10from kwai_core.domain.presenter import Presenter
13class DummyPresenter(Presenter[MemberEntity]):
14 """A dummy presenter for checking the use case result."""
16 def __init__(self):
17 super().__init__()
18 self._entity = None
20 @property
21 def entity(self):
22 """Return the entity."""
23 return self._entity
25 def present(self, use_case_result: MemberEntity) -> None:
26 """Process the result of the use case."""
27 self._entity = use_case_result
30@pytest.fixture
31def member_repo(database: Database) -> MemberRepository:
32 """A fixture for a member repository."""
33 return MemberDbRepository(database)
36async def test_get_member(member_repo: MemberRepository, make_member_in_db):
37 """Test the get member use case."""
38 member = await make_member_in_db()
39 presenter = DummyPresenter()
40 command = GetMemberCommand(uuid=str(member.uuid))
41 await GetMember(member_repo, presenter).execute(command)
42 assert presenter.entity is not None, "The member should exist"
43 assert presenter.entity.uuid == member.uuid, "The member should be found"