Remove your contact information pointers and update tests

This commit is contained in:
Rebecca Hsieh 2024-09-10 14:13:10 -07:00
parent c909c2a094
commit f3ae6f884c
No known key found for this signature in database
5 changed files with 14 additions and 87 deletions

View file

@ -386,64 +386,6 @@ class PurposeForm(RegistrarForm):
) )
class YourContactForm(RegistrarForm):
JOIN = "creator"
def to_database(self, obj):
if not self.is_valid():
return
contact = getattr(obj, "creator", None)
if contact is not None and not contact.has_more_than_one_join("submitted_domain_requests"):
# if contact exists in the database and is not joined to other entities
super().to_database(contact)
else:
# no contact exists OR contact exists which is joined also to other entities;
# in either case, create a new contact and update it
contact = Contact()
super().to_database(contact)
obj.creator = contact
obj.save()
@classmethod
def from_database(cls, obj):
contact = getattr(obj, "creator", None)
return super().from_database(contact)
first_name = forms.CharField(
label="First name / given name",
error_messages={"required": "Enter your first name / given name."},
)
middle_name = forms.CharField(
required=False,
label="Middle name (optional)",
)
last_name = forms.CharField(
label="Last name / family name",
error_messages={"required": "Enter your last name / family name."},
)
title = forms.CharField(
label="Title or role in your organization",
error_messages={
"required": ("Enter your title or role in your organization (e.g., Chief Information Officer).")
},
)
email = forms.EmailField(
label="Email",
max_length=None,
error_messages={"invalid": ("Enter your email address in the required format, like name@example.com.")},
validators=[
MaxLengthValidator(
320,
message="Response must be less than 320 characters.",
)
],
)
phone = PhoneNumberField(
label="Phone",
error_messages={"invalid": "Enter a valid 10-digit phone number.", "required": "Enter your phone number."},
)
class OtherContactsYesNoForm(BaseYesNoForm): class OtherContactsYesNoForm(BaseYesNoForm):
"""The yes/no field for the OtherContacts form.""" """The yes/no field for the OtherContacts form."""

View file

@ -72,13 +72,6 @@
{% endwith %} {% endwith %}
{% endif %} {% endif %}
{% if not has_profile_feature_flag %}
{# Conditionally display profile link in main nav #}
{% with url_name="domain-your-contact-information" %}
{% include "includes/domain_sidenav_item.html" with item_text="Your contact information" %}
{% endwith %}
{% endif %}
{% with url_name="domain-security-email" %} {% with url_name="domain-security-email" %}
{% include "includes/domain_sidenav_item.html" with item_text="Security email" %} {% include "includes/domain_sidenav_item.html" with item_text="Security email" %}
{% endwith %} {% endwith %}

View file

@ -685,16 +685,14 @@ class TestDomainRequestAdmin(MockEppLib):
already_has_domains = DomainRequest.ActionNeededReasons.ALREADY_HAS_DOMAINS already_has_domains = DomainRequest.ActionNeededReasons.ALREADY_HAS_DOMAINS
self.transition_state_and_send_email(domain_request, action_needed, action_needed_reason=already_has_domains) self.transition_state_and_send_email(domain_request, action_needed, action_needed_reason=already_has_domains)
self.assert_email_is_accurate( self.assert_email_is_accurate("ORGANIZATION ALREADY HAS A .GOV DOMAIN", 0, EMAIL, bcc_email_address=BCC_EMAIL)
"ORGANIZATION ALREADY HAS A .GOV DOMAIN", 0, _creator.email, bcc_email_address=BCC_EMAIL
)
self.assertEqual(len(self.mock_client.EMAILS_SENT), 1) self.assertEqual(len(self.mock_client.EMAILS_SENT), 1)
# Test the email sent out for bad_name # Test the email sent out for bad_name
bad_name = DomainRequest.ActionNeededReasons.BAD_NAME bad_name = DomainRequest.ActionNeededReasons.BAD_NAME
self.transition_state_and_send_email(domain_request, action_needed, action_needed_reason=bad_name) self.transition_state_and_send_email(domain_request, action_needed, action_needed_reason=bad_name)
self.assert_email_is_accurate( self.assert_email_is_accurate(
"DOMAIN NAME DOES NOT MEET .GOV REQUIREMENTS", 1, _creator.email, bcc_email_address=BCC_EMAIL "DOMAIN NAME DOES NOT MEET .GOV REQUIREMENTS", 1, EMAIL, bcc_email_address=BCC_EMAIL
) )
self.assertEqual(len(self.mock_client.EMAILS_SENT), 2) self.assertEqual(len(self.mock_client.EMAILS_SENT), 2)
@ -702,7 +700,7 @@ class TestDomainRequestAdmin(MockEppLib):
eligibility_unclear = DomainRequest.ActionNeededReasons.ELIGIBILITY_UNCLEAR eligibility_unclear = DomainRequest.ActionNeededReasons.ELIGIBILITY_UNCLEAR
self.transition_state_and_send_email(domain_request, action_needed, action_needed_reason=eligibility_unclear) self.transition_state_and_send_email(domain_request, action_needed, action_needed_reason=eligibility_unclear)
self.assert_email_is_accurate( self.assert_email_is_accurate(
"ORGANIZATION MAY NOT MEET ELIGIBILITY REQUIREMENTS", 2, _creator.email, bcc_email_address=BCC_EMAIL "ORGANIZATION MAY NOT MEET ELIGIBILITY REQUIREMENTS", 2, EMAIL, bcc_email_address=BCC_EMAIL
) )
self.assertEqual(len(self.mock_client.EMAILS_SENT), 3) self.assertEqual(len(self.mock_client.EMAILS_SENT), 3)

View file

@ -7,7 +7,7 @@ from waffle.testutils import override_flag
from registrar.utility import email from registrar.utility import email
from registrar.utility.email import send_templated_email from registrar.utility.email import send_templated_email
from .common import completed_domain_request from .common import completed_domain_request
from registrar.models import AllowedEmail from registrar.models import AllowedEmail, User
from api.tests.common import less_console_noise_decorator from api.tests.common import less_console_noise_decorator
from datetime import datetime from datetime import datetime
@ -129,13 +129,21 @@ class TestEmails(TestCase):
@less_console_noise_decorator @less_console_noise_decorator
def test_submission_confirmation_other_contacts_spacing(self): def test_submission_confirmation_other_contacts_spacing(self):
"""Test line spacing with other contacts.""" """Test line spacing with other contacts."""
domain_request = completed_domain_request(has_other_contacts=True)
# Create fake creator
_creator = User.objects.create(
username="MrMeoward", first_name="Meoward", last_name="Jones", phone="(888) 888 8888"
)
# Create a fake domain request
domain_request = completed_domain_request(has_other_contacts=True, user=_creator)
with boto3_mocking.clients.handler_for("sesv2", self.mock_client_class): with boto3_mocking.clients.handler_for("sesv2", self.mock_client_class):
domain_request.submit() domain_request.submit()
_, kwargs = self.mock_client.send_email.call_args _, kwargs = self.mock_client.send_email.call_args
body = kwargs["Content"]["Simple"]["Body"]["Text"]["Data"] body = kwargs["Content"]["Simple"]["Body"]["Text"]["Data"]
self.assertIn("Other employees from your organization:", body) self.assertIn("Other employees from your organization:", body)
# spacing should be right between adjacent elements self.assertRegex(body, r"5557\n\nAnything else") self.assertRegex(body, r"8888\n\nOther employees")
self.assertRegex(body, r"5557\n\nAnything else")
@boto3_mocking.patching @boto3_mocking.patching
@less_console_noise_decorator @less_console_noise_decorator

View file

@ -10,7 +10,6 @@ from registrar.forms.domain_request_wizard import (
DotGovDomainForm, DotGovDomainForm,
SeniorOfficialForm, SeniorOfficialForm,
OrganizationContactForm, OrganizationContactForm,
YourContactForm,
OtherContactsForm, OtherContactsForm,
RequirementsForm, RequirementsForm,
TribalGovernmentForm, TribalGovernmentForm,
@ -366,19 +365,6 @@ class TestFormValidation(MockEppLib):
["Response must be less than 2000 characters."], ["Response must be less than 2000 characters."],
) )
def test_your_contact_email_invalid(self):
"""must be a valid email address."""
form = YourContactForm(data={"email": "boss@boss"})
self.assertEqual(
form.errors["email"],
["Enter your email address in the required format, like name@example.com."],
)
def test_your_contact_phone_invalid(self):
"""Must be a valid phone number."""
form = YourContactForm(data={"phone": "boss@boss"})
self.assertTrue(form.errors["phone"][0].startswith("Enter a valid 10-digit phone number."))
def test_other_contact_email_invalid(self): def test_other_contact_email_invalid(self):
"""must be a valid email address.""" """must be a valid email address."""
form = OtherContactsForm(data={"email": "splendid@boss"}) form = OtherContactsForm(data={"email": "splendid@boss"})