diff --git a/theses/factories.py b/theses/factories.py index 1a12cd026941ad06ef7e4ad82c798b6947813a93..75f999c53d8ae42bd404a8919103bb0835a0664c 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 a3283c7318043a1d9313f06aa7a5c1ff46385511..5b29d6331f03f479d90c5fc4e2b9cffbde7b3f87 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)