Coverage for src/tests/modules/club/repositories/test_coach_db_query.py: 77%

35 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module for testing the coaches database query.""" 

2 

3import pytest 

4 

5from kwai_bc_club.domain.club_coach import ClubCoachIdentifier 

6from kwai_bc_club.domain.member import MemberIdentifier 

7from kwai_bc_club.repositories.coach_db_query import CoachDBQuery 

8from kwai_bc_club.repositories.coach_query import CoachQuery 

9from kwai_core.db.database import Database 

10from kwai_core.domain.value_objects.unique_id import UniqueId 

11 

12 

13pytestmark = pytest.mark.db 

14 

15 

16@pytest.fixture 

17def query(database: Database) -> CoachQuery: 

18 """A fixture for a coach query.""" 

19 return CoachDBQuery(database) 

20 

21 

22async def test_filter_by_id(query: CoachQuery): 

23 """Test filtering by id.""" 

24 query.filter_by_id(ClubCoachIdentifier(1)) 

25 try: 

26 await query.fetch_one() 

27 except Exception as exc: 

28 pytest.fail(f"An exception occurred: {exc}") 

29 

30 

31async def test_filter_by_active(query: CoachQuery): 

32 """Test filtering by active coaches.""" 

33 query.filter_by_active() 

34 try: 

35 await query.fetch_one() 

36 except Exception as exc: 

37 pytest.fail(f"An exception occurred: {exc}") 

38 

39 

40async def test_filter_by_uuid(query: CoachQuery): 

41 """Test filtering by uuid.""" 

42 query.filter_by_user_uuid(UniqueId.generate()) 

43 

44 try: 

45 await query.fetch_one() 

46 except Exception as exc: 

47 pytest.fail(f"An exception occurred: {exc}") 

48 

49 

50async def test_filter_by_member_id(query: CoachQuery): 

51 """Test filtering by member id.""" 

52 query.filter_by_member(MemberIdentifier(1)) 

53 

54 try: 

55 await query.fetch_one() 

56 except Exception as exc: 

57 pytest.fail(f"An exception occurred: {exc}")