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_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_page_count_with_items_per_page(self): """ Test :py:meth:`.MultipleObjectMixin.get_page_count` with pagination. """ filtered_queryset = Mock() mixin = MultipleObjectMixin() mixin.items_per_page = 5 mixin.get_filtered_queryset = Mock(return_value=filtered_queryset) for total_items, expected_page_count in ( (1, 1), (5, 1), (6, 2), (10, 2), (11, 3), ): filtered_queryset.count.return_value = total_items self.assertEqual(expected_page_count, mixin.get_page_count())
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_page_count_not_items_per_page(self): """ Test :py:meth:`.MultipleObjectMixin.get_page_count` without pagination. """ mixin = MultipleObjectMixin() self.assertEqual(None, mixin.get_page_count())