Coverage for src/tests/modules/teams/test_get_teams.py: 100%
24 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 defining tests for the use case 'Get Teams'."""
3import pytest
5from kwai_bc_teams.domain.team import TeamEntity
6from kwai_bc_teams.get_teams import GetTeams, GetTeamsCommand
7from kwai_bc_teams.repositories.team_db_repository import TeamDbRepository
8from kwai_core.db.database import Database
9from kwai_core.domain.presenter import AsyncPresenter, IterableResult
12pytestmark = pytest.mark.db
15class DummyPresenter(AsyncPresenter[IterableResult[TeamEntity]]):
16 """A dummy presenter for checking the use case result."""
18 def __init__(self):
19 super().__init__()
20 self._count = 0
22 @property
23 def count(self):
24 """Return the count."""
25 return self._count
27 async def present(self, use_case_result: IterableResult[TeamEntity]) -> None:
28 """Count the teams."""
29 async for _ in use_case_result.iterator:
30 self._count += 1
33async def test_get_teams(database: Database, make_team_in_db):
34 """Test get teams."""
35 await make_team_in_db()
36 command = GetTeamsCommand()
37 presenter = DummyPresenter()
38 await GetTeams(TeamDbRepository(database), presenter).execute(command)
39 print(presenter.count)
40 assert presenter.count > 0, "There should be at least one team."