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_filtered_queryset_no_filters(self): """ Test :py:meth:`~.MultipleObjectMixin.get_filtered_queryset`. This tests the result without filters. """ mixin = MultipleObjectMixin() mixin.get_filter_fields = Mock(return_value={}) mixin.get_queryset = Mock() self.assertEqual( mixin.get_queryset.return_value, mixin.get_filtered_queryset())
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_filtered_queryset_no_filters(self): """ Test :py:meth:`~.MultipleObjectMixin.get_filtered_queryset`. This tests the result without filters. """ mixin = MultipleObjectMixin() mixin.get_filter_fields = Mock(return_value={}) mixin.get_queryset = Mock() self.assertEqual(mixin.get_queryset.return_value, mixin.get_filtered_queryset())
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_filtered_queryset(self): """ Test :py:meth:`~.MultipleObjectMixin.get_filtered_queryset`. """ queryset = Mock() mixin = MultipleObjectMixin() mixin.get_filter_fields = Mock( return_value={'foo': 'bar', 'bar': 'foo'}) mixin.get_queryset = Mock(return_value=queryset) self.assertEqual( queryset.filter.return_value, mixin.get_filtered_queryset()) queryset.filter.assert_called_once_with(foo='bar', bar='foo')
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_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_filtered_queryset(self): """ Test :py:meth:`~.MultipleObjectMixin.get_filtered_queryset`. """ queryset = Mock() mixin = MultipleObjectMixin() mixin.get_filter_fields = Mock(return_value={ 'foo': 'bar', 'bar': 'foo' }) mixin.get_queryset = Mock(return_value=queryset) self.assertEqual(queryset.filter.return_value, mixin.get_filtered_queryset()) queryset.filter.assert_called_once_with(foo='bar', bar='foo')
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_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())