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
« 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."""
3import pytest
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
18pytestmark = pytest.mark.mail
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 )
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()
47 assert mail, "There should be an email."