Coverage for src/tests/modules/identity/test_update_user_invitation.py: 100%
21 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 update of a user invitation use case."""
3import pytest
5from kwai_bc_identity.update_user_invitation import (
6 UpdateUserInvitation,
7 UpdateUserInvitationCommand,
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.users.user import UserEntity
14from kwai_core.db.database import Database
15from kwai_core.db.uow import UnitOfWork
16from kwai_core.domain.presenter import EntityPresenter
17from kwai_core.domain.value_objects.email_address import EmailAddress
18from kwai_core.domain.value_objects.name import Name
21pytestmark = [pytest.mark.db, pytest.mark.bus]
24async def test_update_user_invitation(
25 database: Database,
26 user: UserEntity,
27 publisher,
28 make_user_invitation,
29 make_user_invitation_in_db,
30):
31 """Test recreate user invitation."""
32 user_invitation = await make_user_invitation_in_db(
33 user_invitation=make_user_invitation(
34 email=EmailAddress(email="anton.geesink@kwai.com"),
35 name=Name(first_name="Anton", last_name="Geesink"),
36 user=user,
37 )
38 )
39 presenter = EntityPresenter[UserInvitationEntity]()
41 user_invitation_repo = UserInvitationDbRepository(database)
42 async with UnitOfWork(database):
43 await UpdateUserInvitation(user_invitation_repo, presenter).execute(
44 UpdateUserInvitationCommand(
45 uuid=str(user_invitation.uuid),
46 revoked=True,
47 remark="Changed with a test",
48 )
49 )
50 assert presenter.entity is not None, "There should be a user invitation"
51 assert presenter.entity.revoked is True, "User invitation should be revoked"
53 async with UnitOfWork(database):
54 await user_invitation_repo.delete(presenter.entity)