diff --git a/commentaries/test_views.py b/commentaries/test_views.py index dbb0bb6c61464681abcf3e41acd0da83b533d17d..f2c7460a70ea5c5eb772d78882ab9f803c1204e5 100644 --- a/commentaries/test_views.py +++ b/commentaries/test_views.py @@ -160,3 +160,9 @@ class CommentaryDetailTest(TestCase): def test_status_code_200(self): response = self.client.get(self.target) self.assertEqual(response.status_code, 200) + + def test_unvetted_commentary(self): + commentary = UnvettedCommentaryFactory(requested_by=ContributorFactory()) + target = reverse('commentaries:commentary', kwargs={'arxiv_or_DOI_string': commentary.arxiv_or_DOI_string}) + response = self.client.get(target) + self.assertEqual(response.status_code, 404) diff --git a/commentaries/views.py b/commentaries/views.py index 4c50ca0eb0bfb787ec9daa001339b78c54ee5c05..e95b4915ee1258132f8191a5831b01c3e7e110f2 100644 --- a/commentaries/views.py +++ b/commentaries/views.py @@ -206,6 +206,9 @@ class CommentaryListView(ListView): def commentary_detail(request, arxiv_or_DOI_string): commentary = get_object_or_404(Commentary, arxiv_or_DOI_string=arxiv_or_DOI_string) + if not commentary.vetted: + raise Http404 + comments = commentary.comment_set.all() form = CommentForm() try: