Skip to content

Commit 70b63b6

Browse files
committed
Extract list documents test helper
1 parent 945d0b4 commit 70b63b6

File tree

1 file changed

+22
-19
lines changed

1 file changed

+22
-19
lines changed

app/api/tests/test_api.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -417,26 +417,29 @@ def setUpTestData(cls):
417417
mommy.make('DocumentAnnotation', document=doc1, user=project_member)
418418
mommy.make('DocumentAnnotation', document=doc2, user=project_member)
419419

420-
def test_returns_docs_to_project_member(self):
421-
self.client.login(username=self.project_member_name,
422-
password=self.project_member_pass)
423-
response = self.client.get(self.url, format='json')
420+
def _test_list(self, url, username, password, expected_num_results):
421+
self.client.login(username=username, password=password)
422+
response = self.client.get(url, format='json')
424423
self.assertEqual(response.status_code, status.HTTP_200_OK)
425-
self.assertEqual(len(response.json().get('results')), 3)
424+
self.assertEqual(len(response.json().get('results')), expected_num_results)
425+
426+
def test_returns_docs_to_project_member(self):
427+
self._test_list(self.url,
428+
username=self.project_member_name,
429+
password=self.project_member_pass,
430+
expected_num_results=3)
426431

427432
def test_returns_docs_to_project_member_filtered_to_active(self):
428-
self.client.login(username=self.project_member_name,
429-
password=self.project_member_pass)
430-
response = self.client.get('{}?doc_annotations__isnull=true'.format(self.url), format='json')
431-
self.assertEqual(response.status_code, status.HTTP_200_OK)
432-
self.assertEqual(len(response.json().get('results')), 1)
433+
self._test_list('{}?doc_annotations__isnull=true'.format(self.url),
434+
username=self.project_member_name,
435+
password=self.project_member_pass,
436+
expected_num_results=1)
433437

434438
def test_returns_docs_to_project_member_filtered_to_completed(self):
435-
self.client.login(username=self.project_member_name,
436-
password=self.project_member_pass)
437-
response = self.client.get('{}?doc_annotations__isnull=false'.format(self.url), format='json')
438-
self.assertEqual(response.status_code, status.HTTP_200_OK)
439-
self.assertEqual(len(response.json().get('results')), 2)
439+
self._test_list('{}?doc_annotations__isnull=false'.format(self.url),
440+
username=self.project_member_name,
441+
password=self.project_member_pass,
442+
expected_num_results=2)
440443

441444
def test_returns_docs_in_consistent_order_for_all_users(self):
442445
self.client.login(username=self.project_member_name, password=self.project_member_pass)
@@ -472,10 +475,10 @@ def test_do_not_return_docs_to_non_project_member(self):
472475
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
473476

474477
def test_do_not_return_docs_of_other_projects(self):
475-
self.client.login(username=self.project_member_name,
476-
password=self.project_member_pass)
477-
response = self.client.get(self.url, format='json')
478-
self.assertEqual(response.data['count'], self.main_project.documents.count())
478+
self._test_list(self.url,
479+
username=self.project_member_name,
480+
password=self.project_member_pass,
481+
expected_num_results=self.main_project.documents.count())
479482

480483
def test_allows_superuser_to_create_doc(self):
481484
self.client.login(username=self.super_user_name,

0 commit comments

Comments
 (0)