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

16 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module for testing the user invitation mailer.""" 

2 

3import pytest 

4 

5from kwai_bc_identity.user_invitations.user_invitation import UserInvitationEntity 

6from kwai_bc_identity.user_invitations.user_invitation_mailer import ( 

7 UserInvitationMailer, 

8) 

9from kwai_bc_identity.users.user import UserEntity 

10from kwai_core.domain.value_objects.email_address import EmailAddress 

11from kwai_core.domain.value_objects.name import Name 

12from kwai_core.mail.mailer import Mailer 

13from kwai_core.mail.recipient import Recipients 

14from kwai_core.template.mail_template import MailTemplate 

15 

16 

17pytestmark = pytest.mark.mail 

18 

19 

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

21def user_invitation(user: UserEntity) -> UserInvitationEntity: 

22 """Fixture for a user invitation.""" 

23 return UserInvitationEntity( 

24 email=EmailAddress("ichiro.abe@kwai.com"), 

25 name=Name(first_name="Ichiro", last_name="Abe"), 

26 user=user, 

27 ) 

28 

29 

30def test_user_recovery_mailer_sent( 

31 mailer: Mailer, 

32 recipients: Recipients, 

33 user_invitation_mail_template: MailTemplate, 

34 user_invitation: UserInvitationEntity, 

35): 

36 """Test user invitation mailer.""" 

37 mail = UserInvitationMailer( 

38 mailer, recipients, user_invitation_mail_template, user_invitation 

39 ).send() 

40 

41 assert mail, "There should be an email."