49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
from __future__ import unicode_literals
|
|
|
|
from mayan.apps.common.tests.base import BaseTestCase
|
|
|
|
from ..permissions import permission_document_view
|
|
from ..search import document_search, document_page_search
|
|
|
|
from .mixins import DocumentTestMixin
|
|
|
|
|
|
class DocumentSearchTestMixin(object):
|
|
def _perform_document_page_search(self):
|
|
return document_page_search.search(
|
|
query_string={'q': self.test_document.label},
|
|
user=self._test_case_user
|
|
)
|
|
|
|
def _perform_document_search(self):
|
|
return document_search.search(
|
|
query_string={'q': self.test_document.label},
|
|
user=self._test_case_user
|
|
)
|
|
|
|
|
|
class DocumentSearchTestCase(
|
|
DocumentSearchTestMixin, DocumentTestMixin, BaseTestCase
|
|
):
|
|
def test_document_page_search_no_access(self):
|
|
queryset = self._perform_document_page_search()
|
|
self.assertFalse(self.test_document.pages.first() in queryset)
|
|
|
|
def test_document_page_search_with_access(self):
|
|
self.grant_access(
|
|
obj=self.test_document, permission=permission_document_view
|
|
)
|
|
queryset = self._perform_document_page_search()
|
|
self.assertTrue(self.test_document.pages.first() in queryset)
|
|
|
|
def test_document_search_no_access(self):
|
|
queryset = self._perform_document_search()
|
|
self.assertFalse(self.test_document in queryset)
|
|
|
|
def test_document_search_with_access(self):
|
|
self.grant_access(
|
|
obj=self.test_document, permission=permission_document_view
|
|
)
|
|
queryset = self._perform_document_search()
|
|
self.assertTrue(self.test_document in queryset)
|