Coverage for src/tests/modules/club/repositories/test_member_db_query.py: 72%
58 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 members database query."""
3import pytest
5from kwai_bc_club.domain.member import MemberIdentifier
6from kwai_bc_club.repositories.member_db_query import MemberDbQuery
7from kwai_bc_club.repositories.member_query import MemberQuery
8from kwai_core.db.database import Database
9from kwai_core.domain.value_objects.unique_id import UniqueId
12pytestmark = pytest.mark.db
15@pytest.fixture
16def query(database: Database) -> MemberQuery:
17 """A fixture for a member query."""
18 return MemberDbQuery(database)
21async def test_filter_by_id(query: MemberQuery):
22 """Test filtering by id."""
23 query.filter_by_id(MemberIdentifier(1))
25 try:
26 await query.fetch_one()
27 except Exception as exc:
28 pytest.fail(f"An exception occurred: {exc}")
31async def test_filter_by_license(query: MemberQuery):
32 """Test filtering by license."""
33 query.filter_by_license("12345678")
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_active(query: MemberQuery):
42 """Test filtering by active."""
43 query.filter_by_active()
45 try:
46 await query.fetch_one()
47 except Exception as exc:
48 pytest.fail(f"An exception occurred: {exc}")
51async def test_filter_by_license_date(query: MemberQuery):
52 """Test filtering by license date."""
53 query.filter_by_license_date(1, 2024)
55 try:
56 await query.fetch_one()
57 except Exception as exc:
58 pytest.fail(f"An exception occurred: {exc}")
61async def test_filter_by_uuid(query: MemberQuery):
62 """Test filtering by uuid."""
63 query.filter_by_uuid(UniqueId.generate())
65 try:
66 await query.fetch_one()
67 except Exception as exc:
68 pytest.fail(f"An exception occurred: {exc}")
71async def test_filter_by_name(query: MemberQuery):
72 """Test filtering by name."""
73 query.filter_like_name("Kano")
75 try:
76 await query.fetch_one()
77 except Exception as exc:
78 pytest.fail(f"An exception occurred: {exc}")
81async def test_filter_is_coach(query: MemberQuery):
82 """Test filter on coaches."""
83 query.filter_is_coach()
85 try:
86 await query.fetch_one()
87 except Exception as exc:
88 pytest.fail(f"An exception occurred: {exc}")
91async def test_filter_is_not_coach(query: MemberQuery):
92 """Test filter on coaches."""
93 query.filter_is_not_coach()
95 try:
96 await query.fetch_one()
97 except Exception as exc:
98 pytest.fail(f"An exception occurred: {exc}")