Skip to content

Commit 9f1bd5b

Browse files
committed
Add test for document filter
1 parent 43146e2 commit 9f1bd5b

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

app/api/tests/test_api.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,8 @@ def setUpTestData(cls):
383383
384384

385385
cls.main_project = mommy.make('TextClassificationProject', users=[project_member, super_user])
386+
doc1 = mommy.make('Document', project=cls.main_project)
387+
doc2 = mommy.make('Document', project=cls.main_project)
386388
mommy.make('Document', project=cls.main_project)
387389

388390
cls.random_order_project = mommy.make('TextClassificationProject', users=[project_member, super_user],
@@ -399,11 +401,29 @@ def setUpTestData(cls):
399401
assign_user_to_role(project_member=project_member, project=cls.random_order_project,
400402
role_name=settings.ROLE_ANNOTATOR)
401403

404+
mommy.make('DocumentAnnotation', document=doc1, user=project_member)
405+
mommy.make('DocumentAnnotation', document=doc2, user=project_member)
406+
402407
def test_returns_docs_to_project_member(self):
403408
self.client.login(username=self.project_member_name,
404409
password=self.project_member_pass)
405410
response = self.client.get(self.url, format='json')
406411
self.assertEqual(response.status_code, status.HTTP_200_OK)
412+
self.assertEqual(len(response.json().get('results')), 3)
413+
414+
def test_returns_docs_to_project_member_filtered_to_active(self):
415+
self.client.login(username=self.project_member_name,
416+
password=self.project_member_pass)
417+
response = self.client.get('{}?doc_annotations__isnull=true'.format(self.url), format='json')
418+
self.assertEqual(response.status_code, status.HTTP_200_OK)
419+
self.assertEqual(len(response.json().get('results')), 1)
420+
421+
def test_returns_docs_to_project_member_filtered_to_completed(self):
422+
self.client.login(username=self.project_member_name,
423+
password=self.project_member_pass)
424+
response = self.client.get('{}?doc_annotations__isnull=false'.format(self.url), format='json')
425+
self.assertEqual(response.status_code, status.HTTP_200_OK)
426+
self.assertEqual(len(response.json().get('results')), 2)
407427

408428
def test_returns_docs_in_consistent_order_for_all_users(self):
409429
self.client.login(username=self.project_member_name, password=self.project_member_pass)
@@ -414,7 +434,7 @@ def test_returns_docs_in_consistent_order_for_all_users(self):
414434
user2_documents = self.client.get(self.url, format='json').json().get('results')
415435
self.client.logout()
416436

417-
self.assertEqual(user1_documents, user2_documents)
437+
self.assertEqual([doc['id'] for doc in user1_documents], [doc['id'] for doc in user2_documents])
418438

419439
def test_can_return_docs_in_consistent_random_order(self):
420440
self.client.login(username=self.project_member_name, password=self.project_member_pass)

0 commit comments

Comments
 (0)