diff --git a/src/registrar/forms/feb.py b/src/registrar/forms/feb.py index d4322f512..05b2acf3f 100644 --- a/src/registrar/forms/feb.py +++ b/src/registrar/forms/feb.py @@ -3,6 +3,7 @@ from django.core.validators import MaxLengthValidator from registrar.forms.utility.wizard_form_helper import BaseDeletableRegistrarForm, BaseYesNoForm from registrar.models.contact import Contact + class ExecutiveNamingRequirementsYesNoForm(BaseYesNoForm, BaseDeletableRegistrarForm): """ Form for verifying if the domain request meets the Federal Executive Branch domain naming requirements. @@ -206,4 +207,4 @@ class FEBAnythingElseYesNoForm(BaseYesNoForm, BaseDeletableRegistrarForm): """Yes/no toggle for the anything else question on additional details""" form_is_checked = property(lambda self: self.domain_request.has_anything_else_text) # type: ignore - field_name = "has_anything_else_text" \ No newline at end of file + field_name = "has_anything_else_text" diff --git a/src/registrar/templates/includes/portfolio_request_review_steps.html b/src/registrar/templates/includes/portfolio_request_review_steps.html index 53ad36a3f..e545beca5 100644 --- a/src/registrar/templates/includes/portfolio_request_review_steps.html +++ b/src/registrar/templates/includes/portfolio_request_review_steps.html @@ -53,18 +53,57 @@ {% endfor %} {% endif %} + {% if requires_feb_questions %} +
{{domain_request.feb_naming_requirements|yesno:"Yes,No"}}
+ {% if not domain_request.feb_naming_requirements %} +{{domain_request.feb_naming_requirements_details}}
+ {% endif %} + {% endif %} {% endif %} {% if step == Step.PURPOSE %} {% with title=form_titles|get_item:step value=domain_request.purpose|default:"Incomplete"|safe %} {% include "includes/summary_item.html" with title=title value=value heading_level=heading_level editable=is_editable edit_link=domain_request_url %} {% endwith %} + {% if requires_feb_questions %} +Used for a new website
+ {% elif domain_request.feb_purpose_choice == "redirect" %} +Used as a redirect for an existing website
+ {% else %} +Not for a website
+ {% endif %} +{{domain_request.purpose}}
+{{domain_request.time_frame_details}}
+ {% else %} +No
+ {% endif %} +{{domain_request.interagency_initiative_details}}
+ {% else %} +No
+ {% endif %} + {% endif %} {% endif %} {% if step == Step.ADDITIONAL_DETAILS %} {% with title=form_titles|get_item:step value=domain_request.anything_else|default:"None" %} {% include "includes/summary_item.html" with title=title value=value heading_level=heading_level editable=is_editable edit_link=domain_request_url %} {% endwith %} + {% if requires_feb_questions %} +{{domain_request.eop_contact.first_name}} {{domain_request.eop_contact.last_name}}
+{{domain_request.eop_contact.email}}
+ {% else %} +No
+ {% endif %} + {% endif %} {% endif %} {% if step == Step.REQUIREMENTS %} diff --git a/src/registrar/tests/test_views_request.py b/src/registrar/tests/test_views_request.py index 4c1311d47..47057c193 100644 --- a/src/registrar/tests/test_views_request.py +++ b/src/registrar/tests/test_views_request.py @@ -2615,8 +2615,8 @@ class DomainRequestTests(TestWithUser, WebTest): domain_form = dotgov_page.forms[0] domain = "test.gov" domain_form["dotgov_domain-requested_domain"] = domain - domain_form["dotgov_domain-feb_naming_requirements"] = "True" - domain_form["dotgov_domain-feb_naming_requirements_details"] = "test" + domain_form["dotgov_domain-feb_naming_requirements"] = "False" + domain_form["dotgov_domain-feb_naming_requirements_details"] = "Because this is a test" with patch( "registrar.forms.domain_request_wizard.DotGovDomainForm.clean_requested_domain", return_value=domain ): # noqa @@ -2631,11 +2631,11 @@ class DomainRequestTests(TestWithUser, WebTest): purpose_form = purpose_page.forms[0] purpose_form["purpose-feb_purpose_choice"] = "redirect" - purpose_form["purpose-purpose"] = "test" + purpose_form["purpose-purpose"] = "testPurpose123" purpose_form["purpose-has_timeframe"] = "True" - purpose_form["purpose-time_frame_details"] = "test" + purpose_form["purpose-time_frame_details"] = "1/2/2025 - 1/2/2026" purpose_form["purpose-is_interagency_initiative"] = "True" - purpose_form["purpose-interagency_initiative_details"] = "test" + purpose_form["purpose-interagency_initiative_details"] = "FakeInteragencyInitiative" self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) purpose_result = purpose_form.submit() @@ -2646,8 +2646,8 @@ class DomainRequestTests(TestWithUser, WebTest): additional_details_form = additional_details_page.forms[0] additional_details_form["portfolio_additional_details-working_with_eop"] = "True" - additional_details_form["portfolio_additional_details-first_name"] = "Testy" - additional_details_form["portfolio_additional_details-last_name"] = "Tester" + additional_details_form["portfolio_additional_details-first_name"] = "TesterFirstName" + additional_details_form["portfolio_additional_details-last_name"] = "TesterLastName" additional_details_form["portfolio_additional_details-email"] = "testy@town.com" additional_details_form["portfolio_additional_details-has_anything_else_text"] = "True" additional_details_form["portfolio_additional_details-anything_else"] = "test" @@ -2659,6 +2659,16 @@ class DomainRequestTests(TestWithUser, WebTest): requirements_page = additional_details_result.follow() self.feb_requirements_page_tests(requirements_page) + requirements_form = requirements_page.forms[0] + requirements_form["requirements-is_policy_acknowledged"] = "True" + self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) + requirements_result = requirements_form.submit() + + # ---- REVIEW PAGE ---- + self.app.set_cookie(settings.SESSION_COOKIE_NAME, session_id) + review_page = requirements_result.follow() + self.feb_review_page_tests(review_page) + def feb_purpose_page_tests(self, purpose_page): self.assertContains(purpose_page, "What is the purpose of your requested domain?") @@ -2718,12 +2728,40 @@ class DomainRequestTests(TestWithUser, WebTest): def feb_requirements_page_tests(self, requirements_page): # Check for the 21st Century IDEA Act links - self.assertContains(requirements_page, "https://digital.gov/resources/delivering-digital-first-public-experience-act/") - self.assertContains(requirements_page, "https://bidenwhitehouse.gov/wp-content/uploads/2023/09/M-23-22-Delivering-a-Digital-First-Public-Experience.pdf") - + self.assertContains( + requirements_page, "https://digital.gov/resources/delivering-digital-first-public-experience-act/" + ) + self.assertContains( + requirements_page, + "https://bidenwhitehouse.gov/wp-content/uploads/2023/09/M-23-22-Delivering-a-Digital-First-Public-Experience.pdf", + ) + # Check for the policy acknowledgement form self.assertContains(requirements_page, "is_policy_acknowledged") - self.assertContains(requirements_page, "I read and understand the guidance outlined in the DOTGOV Act for operating a .gov domain.") + self.assertContains( + requirements_page, + "I read and understand the guidance outlined in the DOTGOV Act for operating a .gov domain.", + ) + + def feb_review_page_tests(self, review_page): + # Meets Naming Requirements + self.assertContains(review_page, "