Coverage for src/tests/modules/identity/user_recoveries/test_user_recovery_mailer.py: 100%

17 statements  

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

1"""Module with tests for the user recovery mailer.""" 

2 

3import pytest 

4 

5from kwai_bc_identity.user_recoveries.user_recovery import UserRecoveryEntity 

6from kwai_bc_identity.user_recoveries.user_recovery_mailer import ( 

7 UserRecoveryMailer, 

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.domain.value_objects.timestamp import Timestamp 

13from kwai_core.mail.mailer import Mailer 

14from kwai_core.mail.recipient import Recipients 

15from kwai_core.template.mail_template import MailTemplate 

16 

17 

18pytestmark = pytest.mark.mail 

19 

20 

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

22def user_recovery() -> UserRecoveryEntity: 

23 """Fixture creating a user recovery entity.""" 

24 return UserRecoveryEntity( 

25 expiration=Timestamp.create_now(), 

26 user=UserEntity( 

27 email=EmailAddress("jigoro.kano@kwai.com"), 

28 name=Name(first_name="Jigoro", last_name="Kano"), 

29 ), 

30 ) 

31 

32 

33def test_user_recovery_mailer_send( 

34 mailer: Mailer, 

35 recipients: Recipients, 

36 recovery_mail_template: MailTemplate, 

37 user_recovery: UserRecoveryEntity, 

38): 

39 """Test user recovery mailer send.""" 

40 mail = UserRecoveryMailer( 

41 mailer, 

42 recipients, 

43 recovery_mail_template, 

44 user_recovery, 

45 ).send() 

46 

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