From 69da9f8f327bbd0ffd2f4e703532b673b2a567b4 Mon Sep 17 00:00:00 2001 From: Rebecca Law Date: Fri, 4 Dec 2015 16:21:01 +0000 Subject: [PATCH] 109526520: render verify template with VerifyForm --- app/main/__init__.py | 2 +- app/main/forms.py | 7 ++++++- app/main/views/index.py | 5 ----- app/main/views/verify.py | 19 +++++++++++++++++++ tests/app/main/views/test_verify.py | 7 +++++++ 5 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 app/main/views/verify.py create mode 100644 tests/app/main/views/test_verify.py diff --git a/app/main/__init__.py b/app/main/__init__.py index 1305744ce..506599396 100644 --- a/app/main/__init__.py +++ b/app/main/__init__.py @@ -3,4 +3,4 @@ from flask import Blueprint main = Blueprint('main', __name__) -from app.main.views import index, sign_in, register +from app.main.views import index, sign_in, register, verify diff --git a/app/main/forms.py b/app/main/forms.py index ea5978fa3..874126341 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -1,5 +1,5 @@ from flask_wtf import Form -from wtforms import StringField, PasswordField +from wtforms import StringField, PasswordField, IntegerField from wtforms.validators import DataRequired, Email, Length, Regexp from app.main.validators import Blacklist @@ -36,3 +36,8 @@ class RegisterUserForm(Form): validators=[DataRequired(message='Please enter your password'), Length(10, 255, message='Password must be at least 10 characters'), Blacklist(message='That password is blacklisted, too common')]) + + +class VerifyForm(Form): + sms_code = IntegerField(DataRequired(message='SMS code can not be empty')) + email_code = IntegerField(DataRequired(message='Email code can not be empty')) diff --git a/app/main/views/index.py b/app/main/views/index.py index f664ee835..6f46ae671 100644 --- a/app/main/views/index.py +++ b/app/main/views/index.py @@ -19,11 +19,6 @@ def registerfrominvite(): return render_template('register-from-invite.html') -@main.route("/verify") -def verify(): - return render_template('verify.html') - - @main.route("/verify-mobile") def verifymobile(): return render_template('verify-mobile.html') diff --git a/app/main/views/verify.py b/app/main/views/verify.py new file mode 100644 index 000000000..ed4ef3bfb --- /dev/null +++ b/app/main/views/verify.py @@ -0,0 +1,19 @@ +from app.main import main +from flask import render_template, redirect, jsonify + +from app.main.forms import VerifyForm + + +@main.route('/verify', methods=['GET']) +def render_verify(): + return render_template('verify.html', form=VerifyForm()) + + +@main.route('/verify', methods=['POST']) +def process_verify(): + form = VerifyForm() + + if form.validate_on_submit(): + return redirect('/add-service') + else: + return jsonify(form.errors), 400 diff --git a/tests/app/main/views/test_verify.py b/tests/app/main/views/test_verify.py new file mode 100644 index 000000000..c3b994ad4 --- /dev/null +++ b/tests/app/main/views/test_verify.py @@ -0,0 +1,7 @@ + + +def test_should_return_verify_template(notifications_admin, notifications_admin_db): + response = notifications_admin.test_client().get('/verify') + + assert response.status_code == 200 + assert 'Activate your account' in response.get_data(as_text=True)