Skip to content

Commit 0487746

Browse files
committed
✅ [#499] Test logging when review processed
1 parent a4c030e commit 0487746

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

backend/src/openarchiefbeheer/destruction/tests/endpoints/test_reviewresponse.py

+24
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from rest_framework import status
99
from rest_framework.reverse import reverse
1010
from rest_framework.test import APITestCase
11+
from timeline_logger.models import TimelineLog
1112

1213
from openarchiefbeheer.accounts.tests.factories import UserFactory
1314

@@ -56,6 +57,10 @@ def test_filter_on_review(self):
5657

5758
def test_create_review_response(self):
5859
record_manager = UserFactory.create(post__can_start_destruction=True)
60+
record_manager_group, created = Group.objects.get_or_create(
61+
name="Record Manager"
62+
)
63+
record_manager.groups.add(record_manager_group)
5964
review = DestructionListReviewFactory.create(
6065
destruction_list__author=record_manager,
6166
destruction_list__status=ListStatus.changes_requested,
@@ -133,6 +138,25 @@ def test_create_review_response(self):
133138

134139
self.assertEqual(item_response3.action_zaak["archiefactiedatum"], "2030-01-01")
135140

141+
logs = TimelineLog.objects.for_object(review.destruction_list)
142+
143+
self.assertEqual(logs.count(), 1)
144+
145+
message = logs[0].get_message()
146+
147+
self.assertIn(
148+
_(
149+
"User %(author)s (member of group %(groups)s) has processed the feedback on "
150+
'destruction list "%(list_name)s".'
151+
)
152+
% {
153+
"author": str(record_manager),
154+
"groups": "Record Manager",
155+
"list_name": review.destruction_list.name,
156+
},
157+
message,
158+
)
159+
136160
def test_can_create_response_if_not_author(self):
137161
record_manager1 = UserFactory.create(post__can_start_destruction=True)
138162
record_manager2 = UserFactory.create(post__can_start_destruction=True)

backend/src/openarchiefbeheer/destruction/tests/test_tasks.py

+41
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44

55
from django.core import mail
66
from django.test import TestCase, override_settings, tag
7+
from django.utils.translation import gettext as _, ngettext
78

89
from freezegun import freeze_time
910
from privates.test import temp_private_root
1011
from requests import HTTPError
1112
from requests_mock import Mocker
1213
from testfixtures import log_capture
14+
from timeline_logger.models import TimelineLog
1315
from zgw_consumers.constants import APITypes
1416
from zgw_consumers.test.factories import ServiceFactory
1517

@@ -163,6 +165,7 @@ def test_reject_suggestion_does_not_change_zaak(self, m):
163165
zaak = ZaakFactory.create(archiefactiedatum="2025-01-01")
164166
review_item_response = ReviewItemResponseFactory.create(
165167
review_item__destruction_list_item__zaak=zaak,
168+
review_item__destruction_list_item__destruction_list=review_response.review.destruction_list,
166169
review_item__review=review_response.review,
167170
action_item=DestructionListItemAction.keep,
168171
action_zaak_type=ZaakActionType.bewaartermijn,
@@ -204,6 +207,21 @@ def test_reject_suggestion_does_not_change_zaak(self, m):
204207
zaak.archiefactiedatum.isoformat(), "2025-01-01"
205208
) # NOT changed!!
206209

210+
logs = TimelineLog.objects.for_object(review_response.review.destruction_list)
211+
212+
self.assertEqual(logs.count(), 1)
213+
214+
message = logs[0].get_message()
215+
216+
self.assertIn(
217+
_(
218+
'The review response of destruction list "%(list_name)s" has been processed.'
219+
)
220+
% {"list_name": review_response.review.destruction_list.name},
221+
message,
222+
)
223+
self.assertIn(_("There is now one zaak on the list."), message)
224+
207225
def test_prepopulating_selection(self, m):
208226
destruction_list = DestructionListFactory.create(
209227
status=ListStatus.changes_requested
@@ -275,6 +293,29 @@ def test_prepopulating_selection(self, m):
275293
self.assertNotIn("detail", selection_items[0].selection_data)
276294
self.assertFalse(selection_items[0].selection_data["selected"])
277295

296+
logs = TimelineLog.objects.for_object(destruction_list)
297+
298+
self.assertEqual(logs.count(), 1)
299+
300+
message = logs[0].get_message()
301+
302+
self.assertIn(
303+
_(
304+
'The review response of destruction list "%(list_name)s" has been processed.'
305+
)
306+
% {"list_name": review_response.review.destruction_list.name},
307+
message,
308+
)
309+
self.assertIn(
310+
ngettext(
311+
"There is now one zaak on the list.",
312+
"There are now %(number_of_zaken)s zaken on the list.",
313+
2,
314+
)
315+
% {"number_of_zaken": 2},
316+
message,
317+
)
318+
278319

279320
@temp_private_root()
280321
class ProcessDeletingZakenTests(TestCase):

0 commit comments

Comments
 (0)