From a5cc04fcf8428821d70a2abece42a6d18a9f4423 Mon Sep 17 00:00:00 2001 From: zandercymatics <141044360+zandercymatics@users.noreply.github.com> Date: Mon, 20 May 2024 17:27:05 -0600 Subject: [PATCH] Unit test --- src/registrar/tests/test_views.py | 52 +++++++++++++++++++---------- src/registrar/views/user_profile.py | 5 +-- 2 files changed, 35 insertions(+), 22 deletions(-) diff --git a/src/registrar/tests/test_views.py b/src/registrar/tests/test_views.py index b16f107de..9e52abc39 100644 --- a/src/registrar/tests/test_views.py +++ b/src/registrar/tests/test_views.py @@ -546,8 +546,8 @@ class FinishUserProfileTests(TestWithUser, WebTest): session_id = self.app.cookies[settings.SESSION_COOKIE_NAME] self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) - def _submit_form_webtest(self, form, **kwargs): - page = form.submit(**kwargs) + def _submit_form_webtest(self, form): + page = form.submit() self._set_session_cookie() return page @@ -558,33 +558,48 @@ class FinishUserProfileTests(TestWithUser, WebTest): self.app.set_user(self.incomplete_user.username) with override_flag("profile_feature", active=True): # This will redirect the user to the setup page - finish_setup_page = self.app.get(reverse("home")).follow() - self._set_session_cookie() + finish_setup_page = self.app.get(reverse("home")) + + session_id = self.app.cookies[settings.SESSION_COOKIE_NAME] + self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) + finish_setup_page = finish_setup_page.follow() # Assert that we're on the right page + self.assertEqual(finish_setup_page.status_code, 200) self.assertContains(finish_setup_page, "Finish setting up your profile") - finish_setup_page = self._submit_form_webtest(finish_setup_page.form) + finish_setup_form = finish_setup_page.form + self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) + finish_setup_page = finish_setup_form.submit() + submitted_setup_page = finish_setup_page - self.assertEqual(finish_setup_page.status_code, 200) + self.assertEqual(submitted_setup_page.status_code, 200) # We're missing a phone number, so the page should tell us that - self.assertContains(finish_setup_page, "Enter your phone number.") + self.assertContains(submitted_setup_page, "Enter your phone number.") # Check for the name of the save button - self.assertContains(finish_setup_page, "contact_setup_save_button") + self.assertContains(submitted_setup_page, "contact_setup_save_button") # Add a phone number - finish_setup_form = finish_setup_page.form finish_setup_form["phone"] = "(201) 555-0123" finish_setup_form["title"] = "CEO" finish_setup_form["last_name"] = "example" - #complete_setup_page = self._submit_form_webtest(finish_setup_form).follow() - # Click the "Save" button - complete_setup_page = finish_setup_form.submit(name="contact_setup_save_button").follow() - self._set_session_cookie() - + self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) + complete_setup_page = finish_setup_form.submit(name="contact_setup_save_button") + complete_setup_page = complete_setup_page.follow() self.assertEqual(complete_setup_page.status_code, 200) + # self.assertContains(complete_setup_page, "Your profile has been updated.") + + self.assertContains(complete_setup_page, "contact_setup_submit_button") + + # Click the save and continue button + self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) + complete_setup_page = finish_setup_form.submit(name="contact_setup_submit_button") + complete_setup_page = complete_setup_page.follow() + print(complete_setup_page) + self.assertEqual(complete_setup_page.status_code, 200) + # self.assertContains(complete_setup_page, "Your profile has been updated.") self.assertContains(complete_setup_page, "Manage your domains") @less_console_noise_decorator @@ -595,6 +610,7 @@ class FinishUserProfileTests(TestWithUser, WebTest): with override_flag("profile_feature", active=True): # This will redirect the user to the setup page finish_setup_page = self.app.get(reverse("domain-request:")).follow() + session_id = self.app.cookies[settings.SESSION_COOKIE_NAME] self._set_session_cookie() # Assert that we're on the right page @@ -615,12 +631,12 @@ class FinishUserProfileTests(TestWithUser, WebTest): finish_setup_form["phone"] = "(201) 555-0123" finish_setup_form["title"] = "CEO" finish_setup_form["last_name"] = "example" - complete_setup_page = self._submit_form_webtest(finish_setup_form).follow() + completed_setup_page = self._submit_form_webtest(finish_setup_page.form) - self.assertEqual(complete_setup_page.status_code, 200) + self.assertEqual(completed_setup_page.status_code, 200) # Assert that we're on the domain request page - self.assertContains(complete_setup_page, "How we’ll reach you") - self.assertContains(complete_setup_page, "Your contact information") + self.assertContains(completed_setup_page, "How we’ll reach you") + self.assertContains(completed_setup_page, "Your contact information") @less_console_noise_decorator diff --git a/src/registrar/views/user_profile.py b/src/registrar/views/user_profile.py index d4fa25c5d..b22f1c80e 100644 --- a/src/registrar/views/user_profile.py +++ b/src/registrar/views/user_profile.py @@ -170,10 +170,7 @@ class FinishProfileSetupView(UserProfileView): return super().dispatch(request, *args, **kwargs) def post(self, request, *args, **kwargs): - """Form submission posts to this view. - - This post method harmonizes using BaseContactView and FormMixin - """ + """Form submission posts to this view.""" self._refresh_session_and_object(request) form = self.form_class(request.POST, instance=self.object)