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

17 statements  

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

1"""Module for testing the use case GetUserInvitation.""" 

2 

3import pytest 

4 

5from kwai_bc_identity.get_user_invitation import ( 

6 GetUserInvitation, 

7 GetUserInvitationCommand, 

8) 

9from kwai_bc_identity.user_invitations.user_invitation import UserInvitationEntity 

10from kwai_bc_identity.user_invitations.user_invitation_db_repository import ( 

11 UserInvitationDbRepository, 

12) 

13from kwai_bc_identity.user_invitations.user_invitation_repository import ( 

14 UserInvitationRepository, 

15) 

16from kwai_core.db.database import Database 

17from kwai_core.domain.presenter import EntityPresenter 

18 

19 

20pytestmark = pytest.mark.db 

21 

22 

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

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

25 """Fixture for creating the invitation repository.""" 

26 return UserInvitationDbRepository(database) 

27 

28 

29async def test_get_invitation( 

30 repo: UserInvitationRepository, make_user_invitation_in_db 

31): 

32 """Test the use case: get user invitation.""" 

33 user_invitation = await make_user_invitation_in_db() 

34 command = GetUserInvitationCommand(uuid=str(user_invitation.uuid)) 

35 presenter = EntityPresenter[UserInvitationEntity]() 

36 await GetUserInvitation(repo, presenter).execute(command) 

37 

38 assert presenter.entity is not None, "The invitation should have been found."