From 85c5437499e104b322607840f208b36d8ee592a4 Mon Sep 17 00:00:00 2001 From: Geert Kapteijns <ghkapteijns@gmail.com> Date: Mon, 19 Dec 2016 22:46:24 +0100 Subject: [PATCH] Wrote tests for vet_thesis_link_requests --- theses/factories.py | 2 +- theses/test_views.py | 25 +++++++++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/theses/factories.py b/theses/factories.py index 1a12cd026..75f999c53 100644 --- a/theses/factories.py +++ b/theses/factories.py @@ -9,7 +9,7 @@ class ThesisLinkFactory(factory.django.DjangoModelFactory): requested_by = factory.SubFactory(ContributorFactory) type = ThesisLink.MASTER_THESIS - title = factory.Sequence(lambda n: "thesis {0}".format(n)) + title = factory.Faker('bs') pub_link = factory.Faker('uri') author = factory.Faker('name') supervisor = factory.Faker('name') diff --git a/theses/test_views.py b/theses/test_views.py index a3283c731..5b29d6331 100644 --- a/theses/test_views.py +++ b/theses/test_views.py @@ -1,9 +1,9 @@ from django.test import TestCase, RequestFactory from django.test.client import Client -from django.contrib.auth.models import AnonymousUser +from django.contrib.auth.models import Group from django.urls import reverse -from .views import RequestThesisLink +from .views import RequestThesisLink, vet_thesislink_requests from scipost.factories import UserFactory from .factories import ThesisLinkFactory from .models import ThesisLink @@ -36,3 +36,24 @@ class TestRequestThesisLink(TestCase): request.user = UserFactory() response = RequestThesisLink.as_view()(request) self.assertEqual(response.status_code, 200) + + +class TestVetThesisLinkRequests(TestCase): + fixtures = ['groups', 'permissions'] + + def setUp(self): + self.client = Client() + self.target = reverse('theses:vet_thesislink_requests') + + def test_response_when_not_logged_in(self): + response = self.client.get(self.target) + self.assertEqual(response.status_code, 403) + + def test_response_when_logged_in(self): + ThesisLinkFactory() + request = RequestFactory().get(self.target) + user = UserFactory() + user.groups.add(Group.objects.get(name="Vetting Editors")) + request.user = user + response = vet_thesislink_requests(request) + self.assertEqual(response.status_code, 200) -- GitLab