From 4623a5dfb26b3e9256424adf380d91f43b7dd0b0 Mon Sep 17 00:00:00 2001 From: Neil Martinsen-Burrell Date: Thu, 1 Jun 2023 14:25:40 -0500 Subject: [PATCH] Add email validation by using EmailField in Contact --- .../migrations/0024_alter_contact_email.py | 19 +++++++++++++++++++ src/registrar/models/contact.py | 2 +- src/registrar/tests/test_forms.py | 18 ++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 src/registrar/migrations/0024_alter_contact_email.py diff --git a/src/registrar/migrations/0024_alter_contact_email.py b/src/registrar/migrations/0024_alter_contact_email.py new file mode 100644 index 000000000..f512d5d82 --- /dev/null +++ b/src/registrar/migrations/0024_alter_contact_email.py @@ -0,0 +1,19 @@ +# Generated by Django 4.2.1 on 2023-06-01 19:23 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("registrar", "0023_alter_contact_first_name_alter_contact_last_name_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="contact", + name="email", + field=models.EmailField( + blank=True, db_index=True, help_text="Email", max_length=254, null=True + ), + ), + ] diff --git a/src/registrar/models/contact.py b/src/registrar/models/contact.py index cbfde7a23..41ed9f2c5 100644 --- a/src/registrar/models/contact.py +++ b/src/registrar/models/contact.py @@ -41,7 +41,7 @@ class Contact(TimeStampedModel): help_text="Title", verbose_name="title or role in your organization", ) - email = models.TextField( + email = models.EmailField( null=True, blank=True, help_text="Email", diff --git a/src/registrar/tests/test_forms.py b/src/registrar/tests/test_forms.py index 94f985fab..d682d2cd2 100644 --- a/src/registrar/tests/test_forms.py +++ b/src/registrar/tests/test_forms.py @@ -15,6 +15,7 @@ from registrar.forms.application_wizard import ( AnythingElseForm, TypeOfWorkForm, ) +from registrar.forms.domain import ContactForm class TestFormValidation(TestCase): @@ -277,3 +278,20 @@ class TestFormValidation(TestCase): for error in form.non_field_errors() ) ) + + +class TestContactForm(TestCase): + + def test_contact_form_email_invalid(self): + form = ContactForm(data={"email": "example.net"}) + self.assertEqual( + form.errors["email"], + ["Enter a valid email address."] + ) + + def test_contact_form_email_invalid2(self): + form = ContactForm(data={"email": "@"}) + self.assertEqual( + form.errors["email"], + ["Enter a valid email address."] + )