Skip to content

Commit

Permalink
✅ [#8] Test notifying reviewer
Browse files Browse the repository at this point in the history
  • Loading branch information
SilviaAmAm committed May 14, 2024
1 parent ab47a3f commit 1c934d3
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from datetime import datetime
from unittest.mock import patch

from django.core import mail
from django.test import TestCase
Expand All @@ -13,6 +14,7 @@
from openarchiefbeheer.destruction.api.serializers import DestructionListSerializer
from openarchiefbeheer.destruction.constants import ListItemStatus
from openarchiefbeheer.destruction.tests.factories import DestructionListItemFactory
from openarchiefbeheer.emails.models import EmailConfig

factory = APIRequestFactory()

Expand Down Expand Up @@ -57,7 +59,15 @@ def test_create_destruction_list(self):

self.assertTrue(serializer.is_valid())

with freeze_time("2024-05-02T16:00:00+02:00"):
with (
patch(
"openarchiefbeheer.emails.utils.EmailConfig.get_solo",
return_value=EmailConfig(
subject_review_required="Destruction list review request"
),
),
freeze_time("2024-05-02T16:00:00+02:00"),
):
destruction_list = serializer.save()

assignees = destruction_list.assignees.order_by("order")
Expand Down Expand Up @@ -86,7 +96,7 @@ def test_create_destruction_list(self):
sent_mail = mail.outbox

self.assertEqual(len(sent_mail), 1)
self.assertEqual(sent_mail[0].subject, _("Destruction list review request"))
self.assertEqual(sent_mail[0].subject, "Destruction list review request")
self.assertEqual(sent_mail[0].recipients(), ["[email protected]"])

logs = TimelineLog.objects.filter(user=record_manager)
Expand Down
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
from unittest.mock import patch

from django.core import mail
from django.test import TestCase

from openarchiefbeheer.accounts.tests.factories import UserFactory
from openarchiefbeheer.destruction.tests.factories import DestructionListFactory

from ..models import EmailConfig
from ..utils import send_review_request_email


class RenderingEmailTemplatesTestCase(TestCase):

def test_render_email_templates(self):
user = UserFactory.create(username="reviewer1", email="[email protected]")
destruction_list = DestructionListFactory.create(name="List 1")

with patch(
"openarchiefbeheer.emails.utils.EmailConfig.get_solo",
return_value=EmailConfig(
body_review_required="This is a test user: {{ user }} and a test list: {{ list }}."
),
):
send_review_request_email(user, destruction_list)

messages = mail.outbox

self.assertEqual(len(messages), 1)
self.assertEqual(
messages[0].body, "This is a test user: reviewer1 and a test list: List 1."
)

0 comments on commit 1c934d3

Please sign in to comment.