def test_return_all_organisations_for_superusers_and_staff_users(self): # Setup org_1 = OrganisationFactory.create() org_2 = OrganisationFactory.create() user_1 = UserFactory.create(is_superuser=True) user_2 = UserFactory.create(is_staff=True) # Run & check self.assertEqual(list(get_managed_organisations(user_1)), [org_1, org_2, ]) self.assertEqual(list(get_managed_organisations(user_2)), [org_1, org_2, ])
def setUp(self): super(ViewsTestCase, self).setUp() self.user_granted = UserFactory.create(username="******") self.user_granted.set_password("user") self.user_granted.save() self.user_non_granted = UserFactory.create(username="******") self.user_non_granted.set_password("user") self.user_non_granted.save()
def setUp(self): super(ViewsTestCase, self).setUp() self.user_granted = UserFactory.create(username="******") self.user_granted.set_password("user") self.user_granted.save() self.user_non_granted = UserFactory.create(username="******") self.user_non_granted.set_password("user") self.user_non_granted.save()
def test_cannot_allow_users_to_use_the_email_associated_with_another_user(self): # Setup u1 = UserFactory.create(username='******', email='*****@*****.**') u2 = UserFactory.create(username='******', email='*****@*****.**') form_data = { 'username': '******', 'email': u2.email, } # Run form = UserParametersForm(form_data, instance=u1) # Check assert not form.is_valid()
def test_return_all_organisations_for_superusers_and_staff_users(self): # Setup org_1 = OrganisationFactory.create() org_2 = OrganisationFactory.create() user_1 = UserFactory.create(is_superuser=True) user_2 = UserFactory.create(is_staff=True) # Run & check self.assertEqual(list(get_managed_organisations(user_1)), [ org_1, org_2, ]) self.assertEqual(list(get_managed_organisations(user_2)), [ org_1, org_2, ])
def test_can_return_only_organisations_that_have_the_considered_users_in_their_members(self): # Setup org_1 = OrganisationFactory.create() org_2 = OrganisationFactory.create() org_3 = OrganisationFactory.create() user = UserFactory.create() org_1.members.add(user) subscription_1 = JournalAccessSubscriptionFactory.create(organisation=org_1) subscription_2 = JournalAccessSubscriptionFactory.create(organisation=org_2) subscription_3 = JournalAccessSubscriptionFactory.create(organisation=org_3) now_dt = dt.datetime.now() JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_1, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_2, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_3, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) # Run & check self.assertEqual(list(get_managed_organisations(user)), [org_1, ])
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_return_only_organisations_that_have_the_considered_users_in_their_members( self): # Setup org_1 = OrganisationFactory.create() org_2 = OrganisationFactory.create() org_3 = OrganisationFactory.create() user = UserFactory.create() org_1.members.add(user) subscription_1 = JournalAccessSubscriptionFactory.create( organisation=org_1) subscription_2 = JournalAccessSubscriptionFactory.create( organisation=org_2) subscription_3 = JournalAccessSubscriptionFactory.create( organisation=org_3) now_dt = dt.datetime.now() JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_1, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_2, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_3, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) # Run & check self.assertEqual(list(get_managed_organisations(user)), [ org_1, ])
def test_can_return_only_organisations_that_are_associated_with_a_valid_subscription( self): # Setup org_1 = OrganisationFactory.create() org_2 = OrganisationFactory.create() org_3 = OrganisationFactory.create() user = UserFactory.create() org_1.members.add(user) org_2.members.add(user) org_3.members.add(user) subscription_1 = JournalAccessSubscriptionFactory.create( organisation=org_1) subscription_2 = JournalAccessSubscriptionFactory.create( organisation=org_2) JournalAccessSubscriptionFactory.create(organisation=org_3) now_dt = dt.datetime.now() JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_1, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_2, start=now_dt - dt.timedelta(days=10), end=now_dt - dt.timedelta(days=8)) # Run & check self.assertEqual(list(get_managed_organisations(user)), [ org_1, ])
def test_returns_a_403_error_if_no_journal_can_be_associated_with_the_current_user(self): # Setup class MyView(JournalScopeMixin, TemplateView): template_name = "dummy.html" user = UserFactory.create() 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.as_view() # Run & check with self.assertRaises(PermissionDenied): my_view(request, journal_pk=self.journal.pk)
def test_returns_a_403_error_if_no_organisation_can_be_associated_with_the_current_user(self): # Setup class MyView(OrganisationScopeMixin, TemplateView): template_name = 'dummy.html' user = UserFactory.create() url = reverse( 'userspace:library:home', kwargs={'organisation_pk': self.organisation.pk}) request = self.get_request(url) request.user = user my_view = MyView.as_view() # Run & check with self.assertRaises(PermissionDenied): my_view(request, organisation_pk=self.organisation.pk)
def test_returns_a_403_error_if_no_journal_can_be_associated_with_the_current_user( self): # Setup class MyView(JournalScopeMixin, TemplateView): template_name = 'dummy.html' user = UserFactory.create() 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.as_view() # Run & check with self.assertRaises(PermissionDenied): my_view(request, journal_pk=self.journal.pk)
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 setup(self): self.client = Client() self.user = UserFactory.create(username='******') self.user.set_password('notsecret') self.user.save() self.organisation = OrganisationFactory.create() self.organisation.members.add(self.user) self.subscription = JournalAccessSubscriptionFactory.create(organisation=self.organisation) now_dt = dt.datetime.now() JournalAccessSubscriptionPeriodFactory.create( subscription=self.subscription, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) # Set up some images used for doing image tests images_dict = {} # Fetch an image aimed to be resized f = open(settings.MEDIA_ROOT + "/200x200.png", "rb") images_dict['200x200'] = File(f) self.images_dict = images_dict yield # teardown # -- for img in self.images_dict.values(): img.close() try: self.organisation.badge.delete() except: pass self.organisation.delete()
def test_can_return_only_organisations_that_are_associated_with_a_valid_subscription(self): # Setup org_1 = OrganisationFactory.create() org_2 = OrganisationFactory.create() org_3 = OrganisationFactory.create() user = UserFactory.create() org_1.members.add(user) org_2.members.add(user) org_3.members.add(user) subscription_1 = JournalAccessSubscriptionFactory.create(organisation=org_1) subscription_2 = JournalAccessSubscriptionFactory.create(organisation=org_2) JournalAccessSubscriptionFactory.create(organisation=org_3) now_dt = dt.datetime.now() JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_1, start=now_dt - dt.timedelta(days=10), end=now_dt + dt.timedelta(days=8)) JournalAccessSubscriptionPeriodFactory.create( subscription=subscription_2, start=now_dt - dt.timedelta(days=10), end=now_dt - dt.timedelta(days=8)) # Run & check self.assertEqual(list(get_managed_organisations(user)), [org_1, ])
def setup(self): self.client = Client() self.user = UserFactory.create(username='******') self.user.set_password('notsecret') self.user.save()
def setup(self): self.client = Client() self.user = UserFactory.create(username='******') self.user.set_password('notsecret') self.user.save()