Skip to content

Commit c6f4132

Browse files
committed
✅ [#127] Test endpoints to retrieve review responses
1 parent f3321f8 commit c6f4132

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

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

+14
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,17 @@ class DestructionListItemReviewFactory(factory.django.DjangoModelFactory):
4747

4848
class Meta:
4949
model = "destruction.DestructionListItemReview"
50+
51+
52+
class ReviewItemResponseFactory(factory.django.DjangoModelFactory):
53+
review_item = factory.SubFactory(DestructionListItemReviewFactory)
54+
55+
class Meta:
56+
model = "destruction.ReviewItemResponse"
57+
58+
59+
class ReviewResponseFactory(factory.django.DjangoModelFactory):
60+
review = factory.SubFactory(DestructionListReviewFactory)
61+
62+
class Meta:
63+
model = "destruction.ReviewResponse"

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

+34
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
DestructionListItemFactory,
1717
DestructionListItemReviewFactory,
1818
DestructionListReviewFactory,
19+
ReviewItemResponseFactory,
20+
ReviewResponseFactory,
1921
)
2022

2123

@@ -702,3 +704,35 @@ def test_with_deleted_zaken(self):
702704
data = response.json()
703705

704706
self.assertEqual(len(data[0]["zaak"].keys()), 1)
707+
708+
709+
class ReviewResponsesViewSetTests(APITestCase):
710+
def test_no_auth(self):
711+
endpoint = reverse("api:review-responses-list")
712+
713+
response = self.client.get(endpoint)
714+
715+
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
716+
717+
def test_filter_on_review(self):
718+
user = UserFactory.create()
719+
720+
review = DestructionListReviewFactory.create()
721+
response = ReviewResponseFactory.create(review=review)
722+
ReviewItemResponseFactory.create_batch(2, review_item__review=review)
723+
another_response = ReviewResponseFactory.create()
724+
ReviewItemResponseFactory.create(review_item__review=another_response.review)
725+
726+
endpoint = furl(reverse("api:review-responses-list"))
727+
endpoint.args["review"] = review.pk
728+
729+
self.client.force_authenticate(user=user)
730+
response = self.client.get(endpoint.url)
731+
732+
self.assertEqual(response.status_code, status.HTTP_200_OK)
733+
734+
data = response.json()
735+
736+
self.assertEqual(len(data), 1)
737+
self.assertEqual(data[0]["pk"], review.pk)
738+
self.assertEqual(len(data[0]["itemsResponses"]), 2)

0 commit comments

Comments
 (0)