コード例 #1
0
    def test_queryset(self):
        """
        Compatible listing views must return normalized querysets.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/')
        view.kwargs = {}
        self.assertTrue(isinstance(view.get_queryset(), NormalizedVideoList))
コード例 #2
0
    def test_paginate_by(self):
        """
        Compatible listing views support the 'count' parameter to modify
        pagination.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/', {'count': 1})
        self.assertEqual(view.get_paginate_by(None), 1)
コード例 #3
0
    def test_get_context_data(self):
        """
        Compatible listing views should include 'query' and 'video_list'.

        """
        view = CompatibleListingView()
        view.request = self.factory.get('/')
        view.kwargs = {}
        context = view.get_context_data(object_list=view.get_queryset())
        self.assertTrue('query' in context)
        self.assertTrue('video_list' in context)
        for f in context['form'].filter_fields():
            self.assertFalse(f.name in context)
コード例 #4
0
    def test_get_form_data(self):
        """
        Compatible listing views support 'query' as an alterative to 'q'
        iff 'q' is not also supplied, and allow 'latest' as an alias for
        'newest'.

        """
        view = CompatibleListingView()
        data = view.get_form_data({'query': 'foo'})
        self.assertEqual(data.get('q'), 'foo')

        data = view.get_form_data({'query': 'foo', 'q': 'bar'})
        self.assertEqual(data.get('q'), 'bar')

        data = view.get_form_data({'sort': 'latest'})
        self.assertEqual(data.get('sort'), 'newest')