def test_wagtail_admins_see_only_wagtail_images_in_tag_filter_results( self): request = self.wagtail_factory.get('/') request.user = get_user_model().objects.get(username='******') request.site = Site.objects.get(hostname='wagtail.flint.oursites.com') get_current_request_dummy = Dummy( default_return=Dummy(site=request.site, user=request.user)) with Replacer() as r: r.replace('wagtail_patches.monkey_patches.get_current_request', get_current_request_dummy) # Filter by tag "test" as wagtail_admin, which should return nothing. request.GET = QueryDict('tag=test') response = patched_image_chooser(request) images = response.context_data['images'] # Wagtail users should see no results. self.assertEqual(len(images), 0) request.user = get_user_model().objects.get(username='******') request.site = Site.objects.get(hostname='test.flint.oursites.com') get_current_request_dummy = Dummy( default_return=Dummy(site=request.site, user=request.user)) with Replacer() as r: r.replace('wagtail_patches.monkey_patches.get_current_request', get_current_request_dummy) # Filter by tag "test" as test_admin, which should return all Test Images. request.GET = QueryDict('tag=test') response = patched_image_chooser(request) images = response.context_data['images'] # Test users should see 2 results. self.assertEqual(len(images), 2) titles = [d.title for d in images] self.assertIn('Test Image 1', titles) self.assertIn('Test Image 2', titles)
def test_only_permitted_collections_are_displayed(self): request = self.wagtail_factory.get('/') request.user = get_user_model().objects.get(username='******') request.site = Site.objects.get(hostname='wagtail.flint.oursites.com') get_current_request_dummy = Dummy( default_return=Dummy(site=request.site, user=request.user)) with Replacer() as r: r.replace('wagtail_patches.monkey_patches.render_modal_workflow', self.render_modal_workflow_dummy) r.replace('wagtail_patches.monkey_patches.get_current_request', get_current_request_dummy) patched_image_chooser(request) collections = self.get_context_variable_from_render_modal_dummy( 'collections') # Confirm that the colletion var is None self.assertEqual(collections, None) """
def test_test_admins_see_only_test_images_page_1(self): request = self.wagtail_factory.get('/') request.user = get_user_model().objects.get(username='******') request.site = Site.objects.get(hostname='test.flint.oursites.com') get_current_request_dummy = Dummy( default_return=Dummy(site=request.site, user=request.user)) with Replacer() as r: r.replace('wagtail_patches.monkey_patches.render_modal_workflow', self.render_modal_workflow_dummy) r.replace('wagtail_patches.monkey_patches.get_current_request', get_current_request_dummy) patched_image_chooser(request) images = self.get_context_variable_from_render_modal_dummy( 'images') # Confirm that there are exactly 2 "Test Images" in the listing, and that they are in reverse # creation order. self.assertEqual(len(images), 2) for ndx, doc in enumerate(images): self.assertEqual(doc.title, 'Test Image {}'.format(2 - ndx))
def test_image_tags_restricted_to_site_of_creation(self): request = self.wagtail_factory.get('/') request.user = get_user_model().objects.get(username='******') request.site = Site.objects.get(hostname='test.flint.oursites.com') get_current_request_dummy = Dummy( default_return=Dummy(site=request.site, user=request.user)) with Replacer() as r: r.replace('wagtail_patches.monkey_patches.render_modal_workflow', self.render_modal_workflow_dummy) r.replace('wagtail_patches.monkey_patches.get_current_request', get_current_request_dummy) patched_image_chooser(request) popular_tags = self.get_context_variable_from_render_modal_dummy( 'popular_tags') # popular_tags shoudl not contain the tag 'wagtail' because it doesn't exist # on this site self.assertTrue('wagtail' not in popular_tags.get().name) # Make sure that we did receive some tags, and not just an empty list self.assertTrue('test' in popular_tags.get().name)
def test_wagtail_admins_see_only_wagtail_images_page_2(self): request = self.wagtail_factory.get('/') request.user = get_user_model().objects.get(username='******') request.site = Site.objects.get(hostname='wagtail.flint.oursites.com') get_current_request_dummy = Dummy( default_return=Dummy(site=request.site, user=request.user)) with Replacer() as r: r.replace('wagtail_patches.monkey_patches.get_current_request', get_current_request_dummy) # Request page 2 of the listing. This code path *does* return a response that can be tested against, # so we don't use the modal workflow dummy. request.GET = QueryDict('p=2') response = patched_image_chooser(request) images = response.context_data['images'] # This time, there should be just the one remaining Wagtail Image, and nothing else. It's Image 1 because # the list is in reverse order. self.assertEqual(len(images), 1) for doc in images: self.assertEqual(doc.title, 'Wagtail Image 1')