🐛(backend) fix flaky test after add fr translations

Define user language to test invitation email content.
This commit is contained in:
Sabrina Demagny
2025-02-03 15:06:00 +01:00
parent d48a3ff677
commit 8a2b0d0a76
3 changed files with 9 additions and 6 deletions

View File

@@ -21,8 +21,8 @@ from django.core.exceptions import ValidationError
from django.db import models, transaction
from django.template.loader import render_to_string
from django.utils import timezone
from django.utils.translation import gettext, override
from django.utils.translation import gettext_lazy as _
from django.utils.translation import override
import jsonschema
from timezone_field import TimeZoneField
@@ -961,14 +961,15 @@ class Invitation(BaseModel):
"""Email invitation to the user."""
try:
with override(self.issuer.language):
subject = gettext("Invitation to join La Régie!")
template_vars = {
"title": _("Invitation to join La Régie!"),
"title": subject,
"site": Site.objects.get_current(),
}
msg_html = render_to_string("mail/html/invitation.html", template_vars)
msg_plain = render_to_string("mail/text/invitation.txt", template_vars)
mail.send_mail(
_("Invitation to join La Régie!"),
subject,
msg_plain,
settings.EMAIL_FROM,
[self.email],

View File

@@ -248,7 +248,9 @@ def test_models_team_invitations_email():
assert len(mail.outbox) == 0
factories.TeamAccessFactory(team=team)
invitation = factories.InvitationFactory(team=team, email="john@people.com")
invitation = factories.InvitationFactory(
team=team, email="john@people.com", issuer__language="fr-fr"
)
# pylint: disable-next=no-member
assert len(mail.outbox) == 1
@@ -257,10 +259,10 @@ def test_models_team_invitations_email():
email = mail.outbox[0]
assert email.to == [invitation.email]
assert email.subject == "Invitation to join La Régie!"
assert email.subject == "Invitation à rejoindre La Régie!"
email_content = " ".join(email.body.split())
assert "Invitation to join La Régie!" in email_content
assert "Invitation à rejoindre La Régie!" in email_content
assert "[//example.com]" in email_content