Change name of validator to Name because it is more descriptive

This commit is contained in:
leigh-mil 2018-10-23 11:22:16 -04:00
parent 6a15a6ca7b
commit 13763d8750
4 changed files with 17 additions and 17 deletions

View File

@ -3,7 +3,7 @@ from wtforms.fields import StringField, TextAreaField
from wtforms.validators import Email, Optional
from .forms import ValidatedForm
from .validators import Alphabet, PhoneNumber
from .validators import Name, PhoneNumber
class CCPOReviewForm(ValidatedForm):
@ -12,9 +12,9 @@ class CCPOReviewForm(ValidatedForm):
description="Provide instructions or notes for additional information that is necessary to approve the request here. The requestor may then re-submit the updated request or initiate contact outside of AT-AT if further discussion is required. <strong>This message will be shared with the person making the JEDI request.</strong>.",
)
fname_mao = StringField(
"First Name (optional)", validators=[Optional(), Alphabet()]
"First Name (optional)", validators=[Optional(), Name()]
)
lname_mao = StringField("Last Name (optional)", validators=[Optional(), Alphabet()])
lname_mao = StringField("Last Name (optional)", validators=[Optional(), Name()])
email_mao = EmailField(
"Mission Owner e-mail (optional)", validators=[Optional(), Email()]
)
@ -22,8 +22,8 @@ class CCPOReviewForm(ValidatedForm):
"Mission Owner phone number (optional)", validators=[Optional(), PhoneNumber()]
)
fname_ccpo = StringField(
"First Name (optional)", validators=[Optional(), Alphabet()]
"First Name (optional)", validators=[Optional(), Name()]
)
lname_ccpo = StringField(
"Last Name (optional)", validators=[Optional(), Alphabet()]
"Last Name (optional)", validators=[Optional(), Name()]
)

View File

@ -8,11 +8,11 @@ from .fields import SelectField
from .forms import ValidatedForm
from .data import SERVICE_BRANCHES
from .validators import Alphabet, DateRange, PhoneNumber
from .validators import Name, DateRange, PhoneNumber
USER_FIELDS = {
"first_name": StringField("First Name", validators=[Alphabet()]),
"last_name": StringField("Last Name", validators=[Alphabet()]),
"first_name": StringField("First Name", validators=[Name()]),
"last_name": StringField("Last Name", validators=[Name()]),
"email": EmailField(
"E-mail Address",
description="Enter your preferred contact e-mail address",

View File

@ -50,13 +50,13 @@ def PhoneNumber(message="Please enter a valid 5 or 10 digit phone number."):
return _is_phone_number
def Alphabet(message="Please enter only letters."):
def _alphabet(form, field):
def Name(message="Please enter only letters."):
def _name(form, field):
match = re.match(r"[\w \,\.\'\-]+", field.data)
if not match or match.group() != field.data:
raise ValidationError(message)
return _alphabet
return _name
def ListItemRequired(message="Please provide at least one.", empty_values=("", None)):

View File

@ -1,7 +1,7 @@
from wtforms.validators import ValidationError
import pytest
from atst.forms.validators import Alphabet, IsNumber, PhoneNumber, ListItemsUnique
from atst.forms.validators import Name, IsNumber, PhoneNumber, ListItemsUnique
class TestIsNumber:
@ -38,16 +38,16 @@ class TestPhoneNumber:
validator(dummy_form, dummy_field)
class TestAlphabet:
class TestName:
@pytest.mark.parametrize("valid", ["a", "abcde", "hi mark", "cloud9", "niña"])
def test_Alphabet_accepts_letters(self, valid, dummy_form, dummy_field):
validator = Alphabet()
def test_Name_accepts_letters(self, valid, dummy_form, dummy_field):
validator = Name()
dummy_field.data = valid
validator(dummy_form, dummy_field)
@pytest.mark.parametrize("invalid", [""])
def test_Alphabet_rejects_non_letters(self, invalid, dummy_form, dummy_field):
validator = Alphabet()
def test_Name_rejects_non_letters(self, invalid, dummy_form, dummy_field):
validator = Name()
dummy_field.data = invalid
with pytest.raises(ValidationError):
validator(dummy_form, dummy_field)