コード例 #1
0
ファイル: test_list.py プロジェクト: brocaar/flask-views
    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)
コード例 #2
0
ファイル: test_list.py プロジェクト: brocaar/flask-views
    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())
コード例 #3
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())
コード例 #4
0
ファイル: test_list.py プロジェクト: brocaar/flask-views
    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'))
コード例 #5
0
ファイル: test_list.py プロジェクト: brocaar/flask-views
    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())
コード例 #6
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'))
コード例 #7
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())