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]
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 well reach you")
self.assertContains(complete_setup_page, "Your contact information")
self.assertContains(completed_setup_page, "How well reach you")
self.assertContains(completed_setup_page, "Your contact information")
@less_console_noise_decorator

View file

@ -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)