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))
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)
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)
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')