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
« 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.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
20pytestmark = pytest.mark.db
23@pytest.fixture(scope="module")
24def repo(database: Database) -> UserInvitationRepository:
25 """Fixture for creating the invitation repository."""
26 return UserInvitationDbRepository(database)
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)
38 assert presenter.entity is not None, "The invitation should have been found."