Example #1
0
    def test_advanced_search_past_first_page(self):
        # Make sure all documents are returned by the search
        model_list, result_set, elapsed_time = document_search.search(
            {'label': 'test document'}, user=self.admin_user
        )
        self.assertEqual(len(result_set), self.document_count)

        with self.settings(COMMON_PAGINATE_BY=2):
            # Funcitonal test for the first page of advanced results
            response = self.get(
                'search:results', args=(document_search.get_full_name(),),
                data={'label': 'test'}
            )

            self.assertContains(
                response, 'Total (1 - 2 out of 4) (Page 1 of 2)',
                status_code=200
            )

            # Functional test for the second page of advanced results
            response = self.get(
                'search:results', args=(document_search.get_full_name(),),
                data={'label': 'test', 'page': 2}
            )
            self.assertContains(
                response, 'Total (3 - 4 out of 4) (Page 2 of 2)',
                status_code=200
            )
Example #2
0
    def test_advanced_search_past_first_page(self):
        # Make sure all documents are returned by the search
        queryset, elapsed_time = document_search.search(
            {'label': 'test document'}, user=self.admin_user)
        self.assertEqual(queryset.count(), self.document_count)

        with self.settings(COMMON_PAGINATE_BY=2):
            # Funcitonal test for the first page of advanced results
            response = self.get('search:results',
                                args=(document_search.get_full_name(), ),
                                data={'label': 'test'})

            self.assertContains(response,
                                'Total (1 - 2 out of 4) (Page 1 of 2)',
                                status_code=200)

            # Functional test for the second page of advanced results
            response = self.get('search:results',
                                args=(document_search.get_full_name(), ),
                                data={
                                    'label': 'test',
                                    'page': 2
                                })
            self.assertContains(response,
                                'Total (3 - 4 out of 4) (Page 2 of 2)',
                                status_code=200)
Example #3
0
 def _request_search_view(self):
     query = {'q': self.test_document.label}
     return self.get(
         viewname='rest_api:search-view', kwargs={
             'search_model': document_search.get_full_name()
         }, query=query
     )
Example #4
0
    def test_advanced_search_past_first_page(self):
        # Make sure all documents are returned by the search
        queryset, elapsed_time = document_search.search(
            {'label': 'test document'}, user=self.admin_user
        )
        self.assertEqual(queryset.count(), self.document_count)

        with self.settings(COMMON_PAGINATE_BY=2):
            # Functional test for the first page of advanced results
            response = self.get(
                viewname='search:results',
                args=(document_search.get_full_name(),),
                data={'label': 'test'}
            )

            # Total (1 - 2 out of 4) (Page 1 of 2)
            # 4 results total, 2 pages, current page is 1,
            # object in this page: 2
            self.assertEqual(response.status_code, 200)
            self.assertEqual(
                response.context['paginator'].object_list.count(), 4
            )
            self.assertEqual(response.context['paginator'].num_pages, 2)
            self.assertEqual(response.context['page_obj'].number, 1)
            self.assertEqual(
                response.context['page_obj'].object_list.count(), 2
            )

            # Functional test for the second page of advanced results
            response = self.get(
                viewname='search:results',
                args=(document_search.get_full_name(),),
                data={'label': 'test', 'page': 2}
            )

            # Total (3 - 4 out of 4) (Page 2 of 2)
            # 4 results total, 2 pages, current page is 1,
            # object in this page: 2
            self.assertEqual(response.status_code, 200)
            self.assertEqual(
                response.context['paginator'].object_list.count(), 4
            )
            self.assertEqual(response.context['paginator'].num_pages, 2)
            self.assertEqual(response.context['page_obj'].number, 2)
            self.assertEqual(
                response.context['page_obj'].object_list.count(), 2
            )
Example #5
0
    def _request_advanced_search_view(self):
        query = {'document_type__label': self.test_document.document_type.label}

        return self.get(
            viewname='rest_api:advanced-search-view', kwargs={
                'search_model': document_search.get_full_name()
            }, query=query
        )
Example #6
0
    def test_advanced_search_past_first_page(self):
        # Make sure all documents are returned by the search
        queryset, elapsed_time = document_search.search(
            {'label': 'test document'}, user=self.admin_user)
        self.assertEqual(queryset.count(), self.document_count)

        with self.settings(COMMON_PAGINATE_BY=2):
            # Functional test for the first page of advanced results
            response = self.get(viewname='search:results',
                                args=(document_search.get_full_name(), ),
                                data={'label': 'test'})

            # Total (1 - 2 out of 4) (Page 1 of 2)
            # 4 results total, 2 pages, current page is 1,
            # object in this page: 2
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.context['paginator'].object_list.count(),
                             4)
            self.assertEqual(response.context['paginator'].num_pages, 2)
            self.assertEqual(response.context['page_obj'].number, 1)
            self.assertEqual(response.context['page_obj'].object_list.count(),
                             2)

            # Functional test for the second page of advanced results
            response = self.get(viewname='search:results',
                                args=(document_search.get_full_name(), ),
                                data={
                                    'label': 'test',
                                    'page': 2
                                })

            # Total (3 - 4 out of 4) (Page 2 of 2)
            # 4 results total, 2 pages, current page is 1,
            # object in this page: 2
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.context['paginator'].object_list.count(),
                             4)
            self.assertEqual(response.context['paginator'].num_pages, 2)
            self.assertEqual(response.context['page_obj'].number, 2)
            self.assertEqual(response.context['page_obj'].object_list.count(),
                             2)
Example #7
0
    def test_search(self):
        document_type = DocumentType.objects.create(label=TEST_DOCUMENT_TYPE)

        with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
            document = document_type.new_document(file_object=file_object, )

        response = self.client.get('{}?q={}'.format(
            reverse('rest_api:search-view',
                    args=(document_search.get_full_name(), )), document.label))

        content = loads(response.content)
        self.assertEqual(content['results'][0]['label'], document.label)
        self.assertEqual(content['count'], 1)
Example #8
0
    def test_search(self):
        document_type = DocumentType.objects.create(
            label=TEST_DOCUMENT_TYPE_LABEL
        )

        with open(TEST_SMALL_DOCUMENT_PATH) as file_object:
            document = document_type.new_document(
                file_object=file_object,
            )

        response = self.client.get(
            '{}?q={}'.format(
                reverse(
                    'rest_api:search-view', args=(
                        document_search.get_full_name(),
                    )
                ), document.label
            )
        )

        content = loads(response.content)
        self.assertEqual(content['results'][0]['label'], document.label)
        self.assertEqual(content['count'], 1)
Example #9
0
 def _request_search_view(self):
     return self.get(path='{}?q={}'.format(
         reverse('rest_api:search-view',
                 args=(document_search.get_full_name(),
                       )), self.document.label))