Coverage for src/tests/modules/teams/repositories/test_member_db_query.py: 75%
48 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 team member query for a database."""
3import pytest
5from kwai_bc_teams.domain.team import TeamIdentifier
6from kwai_bc_teams.domain.team_member import MemberIdentifier
7from kwai_bc_teams.repositories.member_db_repository import MemberDbQuery
8from kwai_bc_teams.repositories.member_repository import MemberQuery
9from kwai_core.db.database import Database
10from kwai_core.domain.value_objects.date import Date
11from kwai_core.domain.value_objects.unique_id import UniqueId
14pytestmark = pytest.mark.db
17@pytest.fixture
18def query(database: Database) -> MemberQuery:
19 """A fixture for a team member query."""
20 return MemberDbQuery(database)
23async def test_filter_by_id(query: MemberQuery):
24 """Test filtering by id."""
25 query.filter_by_id(MemberIdentifier(1))
26 try:
27 await query.fetch_one()
28 except Exception as exc:
29 pytest.fail(f"An exception occurred: {exc}")
32async def test_filter_by_uuid(query: MemberQuery):
33 """Test filtering by uuid."""
34 query.filter_by_uuid(UniqueId.generate())
35 try:
36 await query.fetch_one()
37 except Exception as exc:
38 pytest.fail(f"An exception occurred: {exc}")
41async def test_filter_by_birthdate_without_end_date(query: MemberQuery):
42 """Test filtering by birthdate."""
43 query.filter_by_birthdate(Date.create(2015, 1, 1))
44 try:
45 await query.fetch_one()
46 except Exception as exc:
47 pytest.fail(f"An exception occurred: {exc}")
50async def test_filter_by_birthdate(query: MemberQuery):
51 """Test filtering by birthdate between two dates."""
52 query.filter_by_birthdate(Date.create(2015, 1, 1), Date.create(2015, 1, 31))
53 try:
54 await query.fetch_one()
55 except Exception as exc:
56 pytest.fail(f"An exception occurred: {exc}")
59async def test_filter_by_team(query: MemberQuery):
60 """Test filtering by not part of the team."""
61 query.filter_by_team(TeamIdentifier(1))
62 try:
63 await query.fetch_one()
64 except Exception as exc:
65 pytest.fail(f"An exception occurred: {exc}")
68async def test_filter_by_not_in_team(query: MemberQuery):
69 """Test filtering by not part of the team."""
70 query.filter_by_team(TeamIdentifier(1))
71 try:
72 await query.fetch_one()
73 except Exception as exc:
74 pytest.fail(f"An exception occurred: {exc}")