Unit test

This commit is contained in:
zandercymatics 2024-05-20 17:27:05 -06:00
parent 2319fae033
commit a5cc04fcf8
No known key found for this signature in database
GPG key ID: FF4636ABEC9682B7
2 changed files with 35 additions and 22 deletions

View file

@ -546,8 +546,8 @@ class FinishUserProfileTests(TestWithUser, WebTest):
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME] session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
def _submit_form_webtest(self, form, **kwargs): def _submit_form_webtest(self, form):
page = form.submit(**kwargs) page = form.submit()
self._set_session_cookie() self._set_session_cookie()
return page return page
@ -558,33 +558,48 @@ class FinishUserProfileTests(TestWithUser, WebTest):
self.app.set_user(self.incomplete_user.username) self.app.set_user(self.incomplete_user.username)
with override_flag("profile_feature", active=True): with override_flag("profile_feature", active=True):
# This will redirect the user to the setup page # This will redirect the user to the setup page
finish_setup_page = self.app.get(reverse("home")).follow() finish_setup_page = self.app.get(reverse("home"))
self._set_session_cookie()
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 # 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") 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 # 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 # 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 # Add a phone number
finish_setup_form = finish_setup_page.form
finish_setup_form["phone"] = "(201) 555-0123" finish_setup_form["phone"] = "(201) 555-0123"
finish_setup_form["title"] = "CEO" finish_setup_form["title"] = "CEO"
finish_setup_form["last_name"] = "example" finish_setup_form["last_name"] = "example"
#complete_setup_page = self._submit_form_webtest(finish_setup_form).follow() self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id)
# Click the "Save" button complete_setup_page = finish_setup_form.submit(name="contact_setup_save_button")
complete_setup_page = finish_setup_form.submit(name="contact_setup_save_button").follow() complete_setup_page = complete_setup_page.follow()
self._set_session_cookie()
self.assertEqual(complete_setup_page.status_code, 200) 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") self.assertContains(complete_setup_page, "Manage your domains")
@less_console_noise_decorator @less_console_noise_decorator
@ -595,6 +610,7 @@ class FinishUserProfileTests(TestWithUser, WebTest):
with override_flag("profile_feature", active=True): with override_flag("profile_feature", active=True):
# This will redirect the user to the setup page # This will redirect the user to the setup page
finish_setup_page = self.app.get(reverse("domain-request:")).follow() finish_setup_page = self.app.get(reverse("domain-request:")).follow()
session_id = self.app.cookies[settings.SESSION_COOKIE_NAME]
self._set_session_cookie() self._set_session_cookie()
# Assert that we're on the right page # 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["phone"] = "(201) 555-0123"
finish_setup_form["title"] = "CEO" finish_setup_form["title"] = "CEO"
finish_setup_form["last_name"] = "example" 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 # Assert that we're on the domain request page
self.assertContains(complete_setup_page, "How well reach you") self.assertContains(completed_setup_page, "How well reach you")
self.assertContains(complete_setup_page, "Your contact information") self.assertContains(completed_setup_page, "Your contact information")
@less_console_noise_decorator @less_console_noise_decorator

View file

@ -170,10 +170,7 @@ class FinishProfileSetupView(UserProfileView):
return super().dispatch(request, *args, **kwargs) return super().dispatch(request, *args, **kwargs)
def post(self, request, *args, **kwargs): def post(self, request, *args, **kwargs):
"""Form submission posts to this view. """Form submission posts to this view."""
This post method harmonizes using BaseContactView and FormMixin
"""
self._refresh_session_and_object(request) self._refresh_session_and_object(request)
form = self.form_class(request.POST, instance=self.object) form = self.form_class(request.POST, instance=self.object)