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
« prev ^ index » next coverage.py v7.11.0, created at 2024-01-01 00:00 +0000
1"""Tests for the user get invitations."""
3import pytest
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
17pytestmark = pytest.mark.db
20@pytest.fixture(scope="module")
21def repo(database: Database) -> UserInvitationRepository:
22 """Create a user invitation repository."""
23 return UserInvitationDbRepository(database)
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()
32 command = GetInvitationsCommand()
33 presenter = CountIterableAsyncPresenter[UserInvitationEntity]()
34 await GetInvitations(repo, presenter).execute(command)
36 assert presenter.count >= 0, "Count must be 0 or greater"