Coverage for src/tests/modules/identity/users/test_user_account_db_query.py: 79%

29 statements  

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

1"""Module for testing the user account database query.""" 

2 

3import pytest 

4 

5from kwai_bc_identity.users.user_account import UserAccountIdentifier 

6from kwai_bc_identity.users.user_account_db_query import UserAccountDbQuery 

7from kwai_bc_identity.users.user_account_query import UserAccountQuery 

8from kwai_core.db.database import Database 

9from kwai_core.domain.value_objects.email_address import EmailAddress 

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) -> UserAccountQuery: 

18 """A fixture for a user account query.""" 

19 return UserAccountDbQuery(database) 

20 

21 

22async def test_filter_by_id(query: UserAccountQuery): 

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

24 query.filter_by_id(UserAccountIdentifier(1)) 

25 

26 try: 

27 await query.fetch_one() 

28 except Exception as exc: 

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

30 

31 

32async def test_filter_by_email(query: UserAccountQuery): 

33 """Test filtering by email.""" 

34 query.filter_by_email(EmailAddress(email="jigoro.kano@kwai.com")) 

35 

36 try: 

37 await query.fetch_one() 

38 except Exception as exc: 

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

40 

41 

42async def test_filter_by_uuid(query: UserAccountQuery): 

43 """Test filtering by unique id.""" 

44 query.filter_by_uuid(UniqueId.generate()) 

45 

46 try: 

47 await query.fetch_one() 

48 except Exception as exc: 

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