From 2e89f38601ed5ebb09e9ec056d481aca7895a827 Mon Sep 17 00:00:00 2001 From: Patrick Smith Date: Sat, 27 Oct 2018 10:08:22 -0400 Subject: [PATCH] Require all fields on user profile form --- atst/forms/edit_user.py | 12 +++++------- tests/forms/test_edit_user.py | 29 +++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 tests/forms/test_edit_user.py diff --git a/atst/forms/edit_user.py b/atst/forms/edit_user.py index 651c3c15..6bdcc3a5 100644 --- a/atst/forms/edit_user.py +++ b/atst/forms/edit_user.py @@ -77,10 +77,8 @@ class EditUserForm(ValidatedForm): first_name = inherit_field(USER_FIELDS["first_name"]) last_name = inherit_field(USER_FIELDS["last_name"]) email = inherit_field(USER_FIELDS["email"]) - phone_number = inherit_field(USER_FIELDS["phone_number"], required=False) - service_branch = inherit_field(USER_FIELDS["service_branch"], required=False) - citizenship = inherit_field(USER_FIELDS["citizenship"], required=False) - designation = inherit_field(USER_FIELDS["designation"], required=False) - date_latest_training = inherit_field( - USER_FIELDS["date_latest_training"], required=False - ) + phone_number = inherit_field(USER_FIELDS["phone_number"]) + service_branch = inherit_field(USER_FIELDS["service_branch"]) + citizenship = inherit_field(USER_FIELDS["citizenship"]) + designation = inherit_field(USER_FIELDS["designation"]) + date_latest_training = inherit_field(USER_FIELDS["date_latest_training"]) diff --git a/tests/forms/test_edit_user.py b/tests/forms/test_edit_user.py new file mode 100644 index 00000000..9c244757 --- /dev/null +++ b/tests/forms/test_edit_user.py @@ -0,0 +1,29 @@ +import pytest +from werkzeug.datastructures import ImmutableMultiDict + +from atst.forms.edit_user import EditUserForm + +from tests.factories import UserFactory + + +def test_edit_user_form_requires_all_fields(): + user = UserFactory.create() + user_data = user.to_dictionary() + del user_data["date_latest_training"] + form_data = ImmutableMultiDict(user_data) + form = EditUserForm(form_data) + assert not form.validate() + assert form.errors == { + 'date_latest_training': ['This field is required.'] + } + + +def test_edit_user_form_valid_with_all_fields(): + user = UserFactory.create() + user_data = user.to_dictionary() + user_data["date_latest_training"] = user_data["date_latest_training"].strftime( + "%m/%d/%Y" + ) + form_data = ImmutableMultiDict(user_data) + form = EditUserForm(form_data) + assert form.validate()