Пример #1
0
 def test_page_number_no_page(self, request):
     """
     Test :py:meth:`.MultipleObjectMixin.get_page_number` without given page
     """
     request.args = {}
     mixin = MultipleObjectMixin()
     mixin.kwargs = {}
     self.assertEqual(1, mixin.get_page_number())
Пример #2
0
 def test_page_number_no_page(self, request):
     """
     Test :py:meth:`.MultipleObjectMixin.get_page_number` without given page
     """
     request.args = {}
     mixin = MultipleObjectMixin()
     mixin.kwargs = {}
     self.assertEqual(1, mixin.get_page_number())
Пример #3
0
    def test_page_number_kwargs(self):
        """
        Test :py:meth:`.MultipleObjectMixin.get_page_number`.

        This tests retrieving the page number from the URL route arguments.

        """
        mixin = MultipleObjectMixin()
        mixin.kwargs = {
            'page': 10,
        }
        self.assertEqual(10, mixin.get_page_number())
Пример #4
0
    def test_page_number_kwargs(self):
        """
        Test :py:meth:`.MultipleObjectMixin.get_page_number`.

        This tests retrieving the page number from the URL route arguments.

        """
        mixin = MultipleObjectMixin()
        mixin.kwargs = {
            'page': 10,
        }
        self.assertEqual(10, mixin.get_page_number())
Пример #5
0
    def test_page_number_request_args(self, request):
        """
        Test :py:meth:`.MultipleObjectMixin.get_page_number`.

        This tests retrieving the page number from the request arguments.

        """
        request.args = {
            'page': '10',
        }
        mixin = MultipleObjectMixin()
        mixin.kwargs = {}
        self.assertEqual(10, mixin.get_page_number())
Пример #6
0
    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)
Пример #7
0
    def test_page_number_request_args(self, request):
        """
        Test :py:meth:`.MultipleObjectMixin.get_page_number`.

        This tests retrieving the page number from the request arguments.

        """
        request.args = {
            'page': '10',
        }
        mixin = MultipleObjectMixin()
        mixin.kwargs = {}
        self.assertEqual(10, mixin.get_page_number())
Пример #8
0
    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)
Пример #9
0
    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())
Пример #10
0
    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())
Пример #11
0
    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'))
Пример #12
0
    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'))
Пример #13
0
    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'))
Пример #14
0
    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'))