def test_get_object(self): view = SortFilterView() view.request = self.factory.get('/') view.kwargs = {'pk': 1} view.filter_name = 'author' self.assertRaises(Http404, view.get_object) view.kwargs = {'pk': 'foo'} self.assertRaises(Http404, view.get_object)
def test_get_object(self): view = SortFilterView() view.request = self.factory.get("/") view.kwargs = {"pk": 1} view.filter_name = "author" self.assertRaises(Http404, view.get_object) view.kwargs = {"pk": "foo"} self.assertRaises(Http404, view.get_object)
def test_invalid_sort(self): """ If an invalid sort is selected, an empty queryset should be returned. """ view = SortFilterView() view.request = self.factory.get('/', {'sort': 'unheard_of'}) queryset = view.get_queryset() self.assertEqual(len(queryset), 0)
def test_invalid_sort(self): """ If an invalid sort is selected, an empty queryset should be returned. """ view = SortFilterView() view.request = self.factory.get("/", {"sort": "unheard_of"}) queryset = view.get_queryset() self.assertEqual(len(queryset), 0)
def test_invalid_filter_value(self): """ If an invalid filter value is provided, an empty queryset should be returned. """ view = SortFilterView() view.request = self.factory.get('/', {'category': '1'}) queryset = view.get_queryset() self.assertEqual(len(queryset), 0)
def test_invalid_filter_value(self): """ If an invalid filter value is provided, an empty queryset should be returned. """ view = SortFilterView() view.request = self.factory.get("/", {"category": "1"}) queryset = view.get_queryset() self.assertEqual(len(queryset), 0)
def test_invalid_sort(self): """ If an invalid sort is selected, should fall back on the "newest" sort. """ self._clear_index() for i in range(3): self.create_video('test' + str(i)) view = SortFilterView() view.request = self.factory.get('/', {'sort': 'unheard_of'}) self.assertFalse(hasattr(view, 'form')) queryset = view.get_queryset() self.assertEqual(len(queryset), 3) self.assertTrue(hasattr(view, 'form')) self.assertEqual(view.form.cleaned_data['sort'], 'newest')
def test_get_context_data(self): """ The SortFilterView should provide 'videos', 'form', and, if relevant, the current enforced filter object. """ view = SortFilterView() category = self.create_category() view.request = self.factory.get('/') view.kwargs = {'slug': category.slug} view.filter_name = 'category' view.filter_kwarg = 'slug' view.object = view.get_object() context = view.get_context_data(object_list=view.get_queryset()) self.assertEqual(context['category'], category) self.assertTrue('videos' in context) self.assertTrue('form' in context)
def test_invalid_filter_value(self): """ If an invalid filter value is provided, an empty queryset should be returned. """ view = SortFilterView() view.filter_name = 'category' view.filter_kwarg = 'slug' self.assertRaises(Category.DoesNotExist, Category.objects.get, slug__iexact='test') view.kwargs = {'slug': 'test'} view.request = self.factory.get('/') queryset = view.get_queryset() self.assertEqual(len(queryset), 0)
def test_get_context_data(self): """ The SortFilterView should provide 'videos', 'form', and, if relevant, the current enforced filter object. """ view = SortFilterView() category = self.create_category() view.request = self.factory.get("/") view.kwargs = {"slug": category.slug} view.filter_name = "category" view.filter_kwarg = "slug" context = view.get_context_data(object_list=view.get_queryset()) self.assertEqual(context["category"], category) self.assertTrue("videos" in context) self.assertTrue("form" in context)
def test_iexact_filter_value(self): """ If a filter value of incorrect case is provided, the user should be redirected to the absolute url of the object. """ category = self.create_category(slug='test') url = reverse('localtv_category', kwargs={'slug': 'Test'}) real_url = reverse('localtv_category', kwargs={'slug': 'test'}) self.assertEqual(category.get_absolute_url(), real_url) view = SortFilterView() view.filter_name = 'category' view.filter_kwarg = 'slug' view.request = self.factory.get(url) view.kwargs = {'slug': 'Test'} response = view.get(view.request, **view.kwargs) self.assertRedirects(response, real_url, netloc='')