Skip to content

Commit f27e90a

Browse files
committed
✅ [#499] Test log filtering for event
1 parent d633295 commit f27e90a

File tree

2 files changed

+52
-0
lines changed

2 files changed

+52
-0
lines changed

backend/src/openarchiefbeheer/accounts/tests/factories.py

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class UserFactory(DjangoModelFactory):
1717

1818
class Meta:
1919
model = User
20+
django_get_or_create = ("username",)
2021

2122
class Params:
2223
superuser = factory.Trait(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from furl import furl
2+
from rest_framework import status
3+
from rest_framework.reverse import reverse
4+
from rest_framework.test import APITestCase
5+
from timeline_logger.models import TimelineLog
6+
7+
from openarchiefbeheer.accounts.tests.factories import UserFactory
8+
from openarchiefbeheer.destruction.tests.factories import DestructionListFactory
9+
10+
11+
class LogsViewsetTest(APITestCase):
12+
def test_not_authenticated(self):
13+
endpoint = reverse("api:logs-list")
14+
15+
response = self.client.get(endpoint)
16+
17+
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
18+
19+
def test_filter(self):
20+
record_manager = UserFactory.create(post__can_start_destruction=True)
21+
destruction_list1 = DestructionListFactory.create()
22+
destruction_list2 = DestructionListFactory.create()
23+
24+
TimelineLog.objects.create(
25+
content_object=destruction_list1,
26+
template="logging/destruction_list_created.txt",
27+
extra_data={},
28+
user=record_manager,
29+
)
30+
TimelineLog.objects.create(
31+
content_object=destruction_list1,
32+
template="logging/destruction_list_ready_for_first_review.txt",
33+
extra_data={},
34+
user=record_manager,
35+
)
36+
TimelineLog.objects.create(
37+
content_object=destruction_list2,
38+
template="logging/destruction_list_created.txt",
39+
extra_data={},
40+
user=record_manager,
41+
)
42+
43+
endpoint = furl(reverse("api:logs-list"))
44+
endpoint.args["destruction_list"] = destruction_list1.uuid
45+
endpoint.args["event"] = "destruction_list_created"
46+
47+
self.client.force_login(record_manager)
48+
response = self.client.get(endpoint.url)
49+
50+
self.assertEqual(response.status_code, status.HTTP_200_OK)
51+
self.assertEqual(len(response.json()), 1)

0 commit comments

Comments
 (0)