From dbb7cf62a3a2e9f7ffc75cdb08411d809a9ee8ed Mon Sep 17 00:00:00 2001 From: sandeepsajan0 <sandeepsajan0@gmail.com> Date: Fri, 11 Mar 2022 17:52:08 +0530 Subject: [PATCH] Fix user part in Lab Base and Fix tests for pre populated data --- hypha/apply/funds/models/applications.py | 8 ++++++++ hypha/apply/funds/tests/test_models.py | 11 ++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/hypha/apply/funds/models/applications.py b/hypha/apply/funds/models/applications.py index c63fdf8b0..41195ab05 100644 --- a/hypha/apply/funds/models/applications.py +++ b/hypha/apply/funds/models/applications.py @@ -433,6 +433,14 @@ class LabBase(EmailForm, WorkflowStreamForm, SubmittableStreamForm): # type: ig def open_round(self): return self.live + def get_form(self, *args, **kwargs): + user = kwargs.get('user') + form_class = self.get_form_class(user=user) + form_params = self.get_form_parameters() + form_params.update(kwargs) + + return form_class(*args, **form_params) + def serve(self, request, *args, **kwargs): if request.method == 'POST': form = self.get_form(request.POST, request.FILES, page=self, user=request.user) diff --git a/hypha/apply/funds/tests/test_models.py b/hypha/apply/funds/tests/test_models.py index e5cf1a352..65435aa44 100644 --- a/hypha/apply/funds/tests/test_models.py +++ b/hypha/apply/funds/tests/test_models.py @@ -316,19 +316,24 @@ class TestFormSubmission(TestCase): self.assertEqual(ApplicationSubmission.objects.first().user, user) # This will need to be updated when we hide user information contextually - def test_errors_if_blank_user_data_even_if_logged_in(self): + def test_can_submit_if_blank_user_data_even_if_logged_in(self): user, _ = self.User.objects.get_or_create(email=self.email, defaults={'full_name': self.name}) # Lead + applicant self.assertEqual(self.User.objects.count(), 2) response = self.submit_form(email='', name='', user=user, ignore_errors=True) - self.assertContains(response, 'This field is required') + self.assertEqual(response.status_code, 200) # Lead + applicant self.assertEqual(self.User.objects.count(), 2) - self.assertEqual(ApplicationSubmission.objects.count(), 0) + self.assertEqual(ApplicationSubmission.objects.count(), 1) + + submission = ApplicationSubmission.objects.first() + self.assertEqual(submission.user, user) + self.assertEqual(submission.user.full_name, self.name) + self.assertEqual(submission.user.email, self.email) def test_valid_email(self): email = 'not_a_valid_email@' -- GitLab