def test_get_paginated_object_list_no_pagination(self): """ Test :py:meth:`.MultipleObjectMixin.get_paginated_object_list`. This tests the return without pagination. """ mixin = MultipleObjectMixin() mixin.get_filtered_queryset = Mock() self.assertEqual(mixin.get_filtered_queryset.return_value, mixin.get_paginated_object_list())
def test_get_paginated_object_list_404(self, abort): """ Test :py:meth:`.MultipleObjectMixin.get_paginated_object_list`. This tests a 404 return. """ mixin = MultipleObjectMixin() mixin.items_per_page = 10 mixin.get_page_number = Mock(return_value=2) mixin.get_filtered_queryset = Mock(return_value=[]) self.assertEqual(None, mixin.get_paginated_object_list()) abort.assert_called_once_with(404)
def test_get_paginated_object_list_no_pagination(self): """ Test :py:meth:`.MultipleObjectMixin.get_paginated_object_list`. This tests the return without pagination. """ mixin = MultipleObjectMixin() mixin.get_filtered_queryset = Mock() self.assertEqual( mixin.get_filtered_queryset.return_value, mixin.get_paginated_object_list() )
def test_get_paginated_object_list(self): """ Test :py:meth:`.MultipleObjectMixin.get_paginated_object_list`. """ class DummyQuerySet(object): def __getitem__(self, item): return '{0}:{1}'.format(item.start, item.stop) mixin = MultipleObjectMixin() mixin.get_filtered_queryset = Mock(return_value=DummyQuerySet()) mixin.items_per_page = 10 for index, expected in enumerate(['0:10', '10:20', '20:30']): mixin.get_page_number = Mock(return_value=index + 1) self.assertEqual(expected, mixin.get_paginated_object_list())
def test_get_context_data_unpaginated(self): """ Test :py:meth:`.MultipleObjectMixin.get_context_data` unpaginated. """ mixin = MultipleObjectMixin() mixin.get_page_number = Mock(return_value=1) mixin.get_page_count = Mock(return_value=None) mixin.get_context_object_name = Mock(return_value='foo_bar') mixin.get_paginated_object_list = Mock() self.assertEqual({ 'foo': 'bar', 'is_paginated': False, 'current_page_number': 1, 'total_page_count': None, 'foo_bar': mixin.get_paginated_object_list.return_value, }, mixin.get_context_data(foo='bar'))
def test_get_context_data_paginated(self): """ Test :py:meth:`.MultipleObjectMixin.get_context_data` paginated. """ mixin = MultipleObjectMixin() mixin.items_per_page = 1 mixin.get_page_number = Mock(return_value=5) mixin.get_page_count = Mock(return_value=10) mixin.get_context_object_name = Mock(return_value='foo_bar') mixin.get_paginated_object_list = Mock() self.assertEqual({ 'foo': 'bar', 'is_paginated': True, 'current_page_number': 5, 'total_page_count': 10, 'foo_bar': mixin.get_paginated_object_list.return_value, }, mixin.get_context_data(foo='bar'))
def test_get_context_data_unpaginated(self): """ Test :py:meth:`.MultipleObjectMixin.get_context_data` unpaginated. """ mixin = MultipleObjectMixin() mixin.get_page_number = Mock(return_value=1) mixin.get_page_count = Mock(return_value=None) mixin.get_context_object_name = Mock(return_value='foo_bar') mixin.get_paginated_object_list = Mock() self.assertEqual( { 'foo': 'bar', 'is_paginated': False, 'current_page_number': 1, 'total_page_count': None, 'foo_bar': mixin.get_paginated_object_list.return_value, }, mixin.get_context_data(foo='bar'))
def test_get_context_data_paginated(self): """ Test :py:meth:`.MultipleObjectMixin.get_context_data` paginated. """ mixin = MultipleObjectMixin() mixin.items_per_page = 1 mixin.get_page_number = Mock(return_value=5) mixin.get_page_count = Mock(return_value=10) mixin.get_context_object_name = Mock(return_value='foo_bar') mixin.get_paginated_object_list = Mock() self.assertEqual( { 'foo': 'bar', 'is_paginated': True, 'current_page_number': 5, 'total_page_count': 10, 'foo_bar': mixin.get_paginated_object_list.return_value, }, mixin.get_context_data(foo='bar'))