From dd9b3bc476e4ebeb94c9ce21fde21a58a441349a Mon Sep 17 00:00:00 2001 From: Dan Braghis <dan.braghis@torchbox.com> Date: Tue, 19 Jun 2018 15:02:43 +0100 Subject: [PATCH] Test only lead can see extended determination data --- opentech/apply/determinations/forms.py | 8 ++++++-- opentech/apply/determinations/tests/test_views.py | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/opentech/apply/determinations/forms.py b/opentech/apply/determinations/forms.py index 2ee93b73e..01db2f371 100644 --- a/opentech/apply/determinations/forms.py +++ b/opentech/apply/determinations/forms.py @@ -67,8 +67,12 @@ class BaseDeterminationForm(forms.ModelForm): cleaned_data = super().clean() if self.draft_button_name not in self.data: - action_name = self.request.GET.get('action') or \ - self.get_action_name_from_determination(int(cleaned_data['outcome'])) + try: + outcome = int(cleaned_data['outcome']) + except KeyError: + outcome = -1 + + action_name = self.request.GET.get('action') or self.get_action_name_from_determination(outcome) if action_name: transition = self.submission.get_transition(action_name) if not can_proceed(transition): diff --git a/opentech/apply/determinations/tests/test_views.py b/opentech/apply/determinations/tests/test_views.py index 7840bb015..727858ccb 100644 --- a/opentech/apply/determinations/tests/test_views.py +++ b/opentech/apply/determinations/tests/test_views.py @@ -45,7 +45,16 @@ class StaffDeterminationsTestCase(BaseTestCase): self.assertContains(response, determination.submission.title) self.assertContains(response, self.user.full_name) self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id})) + self.assertFalse(response.context['can_view_extended_data']) + def test_lead_can_access_determination(self): + submission = ApplicationSubmissionFactory(status='in_discussion', lead=self.user) + determination = DeterminationFactory(submission=submission, author=self.user, not_draft=True) + response = self.get_page(determination) + self.assertContains(response, determination.submission.title) + self.assertContains(response, self.user.full_name) + self.assertContains(response, reverse('funds:submissions:detail', kwargs={'pk': submission.id})) + self.assertTrue(response.context['can_view_extended_data']) class DeterminationFormTestCase(BaseTestCase): user_factory = StaffFactory -- GitLab