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)
Пример #2
0
 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)
Пример #3
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)
Пример #4
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)
Пример #5
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)
Пример #6
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)
Пример #7
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_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')
Пример #9
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'
        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_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)
Пример #11
0
 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)
Пример #12
0
    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)
Пример #13
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)
Пример #14
0
    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='')
    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_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='')