Coverage for src/tests/modules/identity/test_get_invitations.py: 100%

17 statements  

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

1"""Tests for the user get invitations.""" 

2 

3import pytest 

4 

5from kwai_bc_identity.get_invitations import GetInvitations, GetInvitationsCommand 

6from kwai_bc_identity.user_invitations.user_invitation import UserInvitationEntity 

7from kwai_bc_identity.user_invitations.user_invitation_db_repository import ( 

8 UserInvitationDbRepository, 

9) 

10from kwai_bc_identity.user_invitations.user_invitation_repository import ( 

11 UserInvitationRepository, 

12) 

13from kwai_core.db.database import Database 

14from kwai_core.domain.presenter import CountIterableAsyncPresenter 

15 

16 

17pytestmark = pytest.mark.db 

18 

19 

20@pytest.fixture(scope="module") 

21def repo(database: Database) -> UserInvitationRepository: 

22 """Create a user invitation repository.""" 

23 return UserInvitationDbRepository(database) 

24 

25 

26async def test_get_invitations( 

27 repo: UserInvitationRepository, make_user_invitation_in_db 

28): 

29 """Test the use case: get invitations.""" 

30 await make_user_invitation_in_db() 

31 

32 command = GetInvitationsCommand() 

33 presenter = CountIterableAsyncPresenter[UserInvitationEntity]() 

34 await GetInvitations(repo, presenter).execute(command) 

35 

36 assert presenter.count >= 0, "Count must be 0 or greater"