Validate against empty form submission for find_users_by_email

This included:
- creating a new form SearchUsersByEmailForm with validation
on its search field

- introducing 400 status to the view  if the form does not validate

- fixing the POST request data structure in the tests (it was
incorrect before and uncaught due to lack of validation and mocking
the response from the API.
This commit is contained in:
Pea Tyczynska
2018-07-10 16:33:13 +01:00
parent d1a05e2ec5
commit 57e9c1d6e6
3 changed files with 31 additions and 5 deletions

View File

@@ -4,19 +4,22 @@ from flask_login import login_required
from app import user_api_client
from app.main import main
from app.utils import user_is_platform_admin
from app.main.forms import SearchUsersForm
from app.main.forms import SearchUsersByEmailForm
@main.route("/find-users-by-email", methods=['GET', 'POST'])
@login_required
@user_is_platform_admin
def find_users_by_email():
form = SearchUsersForm()
form = SearchUsersByEmailForm()
users_found = None
status = 200
if form.validate_on_submit():
users_found = user_api_client.find_users_by_full_or_partial_email(form.search.data)['data']
elif request.method == 'POST':
status = 400
return render_template(
'views/find-users/find-users-by-email.html',
form=form,
users_found=users_found
)
), status