def test_can_return_all_the_journals_if_the_user_is_a_member_of_a_production_team( self): # Setup class MyView(JournalScopeMixin, TemplateView): allow_production_team_access = True template_name = 'dummy.html' user = UserFactory.create() group = GroupFactory.create(name='Production team') ProductionTeamFactory.create(group=group, identifier='main') user.groups.add(group) journal = JournalFactory.create(collection=self.collection) url = reverse('userspace:journal:information:update', kwargs={'journal_pk': journal.pk}) request = self.get_request(url) request.user = user my_view = MyView() my_view.request = request # Run & check journals = my_view.get_user_journals() assert journals assert list(journals) == list( Journal.objects.filter(collection__code='erudit'))
def test_can_check_if_a_user_has_an_authorization_using_its_group(self): # Setup group = GroupFactory.create() self.user.groups.add(group) AuthorizationFactory.create( group=group, authorization_codename=AC.can_manage_authorizations.codename) auth_check_1 = HasAnyAuthorization([AC.can_manage_authorizations, ]) auth_check_2 = HasAnyAuthorization([AC.can_manage_individual_subscription, ]) # Run & check self.assertTrue(auth_check_1(self.user)) self.assertFalse(auth_check_2(self.user))
def test_can_return_all_the_journals_if_the_user_is_a_member_of_a_production_team(self): # Setup class MyView(JournalScopeMixin, TemplateView): allow_production_team_access = True template_name = "dummy.html" user = UserFactory.create() group = GroupFactory.create(name="Production team") ProductionTeamFactory.create(group=group, identifier="main") user.groups.add(group) journal = JournalFactory.create(collection=self.collection) url = reverse("userspace:journal:information:update", kwargs={"journal_pk": journal.pk}) request = self.get_request(url) request.user = user my_view = MyView() my_view.request = request # Run & check journals = my_view.get_user_journals() assert journals assert list(journals) == list(Journal.objects.filter(collection__code="erudit"))