Browse Source

Add test for document filter

pull/527/head
Clemens Wolff 4 years ago
parent
commit
9f1bd5b2e5
1 changed files with 21 additions and 1 deletions
  1. 22
      app/api/tests/test_api.py

22
app/api/tests/test_api.py

@ -383,6 +383,8 @@ class TestDocumentListAPI(APITestCase):
email='fizz@buzz.com')
cls.main_project = mommy.make('TextClassificationProject', users=[project_member, super_user])
doc1 = mommy.make('Document', project=cls.main_project)
doc2 = mommy.make('Document', project=cls.main_project)
mommy.make('Document', project=cls.main_project)
cls.random_order_project = mommy.make('TextClassificationProject', users=[project_member, super_user],
@ -399,11 +401,29 @@ class TestDocumentListAPI(APITestCase):
assign_user_to_role(project_member=project_member, project=cls.random_order_project,
role_name=settings.ROLE_ANNOTATOR)
mommy.make('DocumentAnnotation', document=doc1, user=project_member)
mommy.make('DocumentAnnotation', document=doc2, user=project_member)
def test_returns_docs_to_project_member(self):
self.client.login(username=self.project_member_name,
password=self.project_member_pass)
response = self.client.get(self.url, format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json().get('results')), 3)
def test_returns_docs_to_project_member_filtered_to_active(self):
self.client.login(username=self.project_member_name,
password=self.project_member_pass)
response = self.client.get('{}?doc_annotations__isnull=true'.format(self.url), format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json().get('results')), 1)
def test_returns_docs_to_project_member_filtered_to_completed(self):
self.client.login(username=self.project_member_name,
password=self.project_member_pass)
response = self.client.get('{}?doc_annotations__isnull=false'.format(self.url), format='json')
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual(len(response.json().get('results')), 2)
def test_returns_docs_in_consistent_order_for_all_users(self):
self.client.login(username=self.project_member_name, password=self.project_member_pass)
@ -414,7 +434,7 @@ class TestDocumentListAPI(APITestCase):
user2_documents = self.client.get(self.url, format='json').json().get('results')
self.client.logout()
self.assertEqual(user1_documents, user2_documents)
self.assertEqual([doc['id'] for doc in user1_documents], [doc['id'] for doc in user2_documents])
def test_can_return_docs_in_consistent_random_order(self):
self.client.login(username=self.project_member_name, password=self.project_member_pass)

Loading…
Cancel
Save