예제 #1
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'))
예제 #2
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'))
예제 #3
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'))
예제 #4
0
    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())
예제 #5
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'))
예제 #6
0
    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())
예제 #7
0
 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())
예제 #8
0
 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())