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

19 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.delete_user_invitation import ( 

6 DeleteUserInvitation, 

7 DeleteUserInvitationCommand, 

8) 

9from kwai_bc_identity.get_user_invitation import ( 

10 GetUserInvitation, 

11 GetUserInvitationCommand, 

12) 

13from kwai_bc_identity.user_invitations.user_invitation import UserInvitationEntity 

14from kwai_bc_identity.user_invitations.user_invitation_db_repository import ( 

15 UserInvitationDbRepository, 

16) 

17from kwai_bc_identity.user_invitations.user_invitation_repository import ( 

18 UserInvitationNotFoundException, 

19 UserInvitationRepository, 

20) 

21from kwai_core.db.database import Database 

22from kwai_core.domain.presenter import EntityPresenter 

23 

24 

25pytestmark = pytest.mark.db 

26 

27 

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

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

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

31 return UserInvitationDbRepository(database) 

32 

33 

34async def test_delete_invitation( 

35 repo: UserInvitationRepository, 

36 make_user_invitation_in_db, 

37): 

38 """Test the use case: delete user invitation.""" 

39 user_invitation = await make_user_invitation_in_db() 

40 command = DeleteUserInvitationCommand(uuid=str(user_invitation.uuid)) 

41 await DeleteUserInvitation(repo).execute(command) 

42 

43 get_command = GetUserInvitationCommand(uuid=str(user_invitation.uuid)) 

44 with pytest.raises(UserInvitationNotFoundException): 

45 await GetUserInvitation(repo, EntityPresenter[UserInvitationEntity]()).execute( 

46 get_command 

47 )