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
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1"""Module for testing the use case GetUserInvitation."""
3import pytest
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
25pytestmark = pytest.mark.db
28@pytest.fixture(scope="module")
29def repo(database: Database) -> UserInvitationRepository:
30 """Fixture for creating the invitation repository."""
31 return UserInvitationDbRepository(database)
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)
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 )