Skip to content
Snippets Groups Projects
Commit 23fbed79 authored by Todd Dembrey's avatar Todd Dembrey
Browse files

Refactor the tests for 25% speed improvement

parent dade2c5b
No related branches found
No related tags found
No related merge requests found
...@@ -52,14 +52,18 @@ class StaffReviewFormTestCase(BaseViewTestCase): ...@@ -52,14 +52,18 @@ class StaffReviewFormTestCase(BaseViewTestCase):
url_name = 'funds:submissions:reviews:{}' url_name = 'funds:submissions:reviews:{}'
base_view_name = 'review' base_view_name = 'review'
@classmethod
def setUpTestData(cls):
super().setUpTestData()
cls.submission = ApplicationSubmissionFactory(status='internal_review')
def get_kwargs(self, instance): def get_kwargs(self, instance):
return {'submission_pk': instance.id} return {'submission_pk': instance.id}
def test_can_access_form(self): def test_can_access_form(self):
submission = ApplicationSubmissionFactory(status='internal_review') response = self.get_page(self.submission, 'form')
response = self.get_page(submission, 'form') self.assertContains(response, self.submission.title)
self.assertContains(response, submission.title) self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': self.submission.id}))
self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id}))
def test_cant_access_wrong_status(self): def test_cant_access_wrong_status(self):
submission = ApplicationSubmissionFactory(rejected=True) submission = ApplicationSubmissionFactory(rejected=True)
...@@ -67,37 +71,33 @@ class StaffReviewFormTestCase(BaseViewTestCase): ...@@ -67,37 +71,33 @@ class StaffReviewFormTestCase(BaseViewTestCase):
self.assertEqual(response.status_code, 403) self.assertEqual(response.status_code, 403)
def test_cant_resubmit_review(self): def test_cant_resubmit_review(self):
submission = ApplicationSubmissionFactory(status='internal_review') ReviewFactory(submission=self.submission, author=self.user)
ReviewFactory(submission=submission, author=self.user) response = self.post_page(self.submission, {'data': 'value'}, 'form')
response = self.post_page(submission, {'data': 'value'}, 'form')
self.assertEqual(response.context['has_submitted_review'], True) self.assertEqual(response.context['has_submitted_review'], True)
self.assertEqual(response.context['title'], 'Update Review draft') self.assertEqual(response.context['title'], 'Update Review draft')
def test_can_edit_draft_review(self): def test_can_edit_draft_review(self):
submission = ApplicationSubmissionFactory(status='internal_review') ReviewFactory(submission=self.submission, author=self.user, is_draft=True)
ReviewFactory(submission=submission, author=self.user, is_draft=True) response = self.post_page(self.submission, {'data': 'value'}, 'form')
response = self.post_page(submission, {'data': 'value'}, 'form')
self.assertEqual(response.context['has_submitted_review'], False) self.assertEqual(response.context['has_submitted_review'], False)
self.assertEqual(response.context['title'], 'Update Review draft') self.assertEqual(response.context['title'], 'Update Review draft')
def test_revision_captured_on_review(self): def test_revision_captured_on_review(self):
submission = ApplicationSubmissionFactory(status='internal_review') field_ids = [f.id for f in self.submission.round.review_forms.first().fields]
field_ids = [f.id for f in submission.round.review_forms.first().fields]
data = ReviewFormFieldsFactory.form_response(field_ids) data = ReviewFormFieldsFactory.form_response(field_ids)
self.post_page(submission, data, 'form') self.post_page(self.submission, data, 'form')
review = submission.reviews.first() review = self.submission.reviews.first()
self.assertEqual(review.revision, submission.live_revision) self.assertEqual(review.revision, self.submission.live_revision)
def test_can_submit_draft_review(self): def test_can_submit_draft_review(self):
submission = ApplicationSubmissionFactory(status='internal_review') field_ids = [f.id for f in self.submission.round.review_forms.first().fields]
field_ids = [f.id for f in submission.round.review_forms.first().fields]
data = ReviewFormFieldsFactory.form_response(field_ids) data = ReviewFormFieldsFactory.form_response(field_ids)
data['save_draft'] = True data['save_draft'] = True
self.post_page(submission, data, 'form') self.post_page(self.submission, data, 'form')
review = submission.reviews.first() review = self.submission.reviews.first()
self.assertTrue(review.is_draft) self.assertTrue(review.is_draft)
self.assertIsNone(review.revision) self.assertIsNone(review.revision)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment