def test_without_data_should_not_validate(self): form = SignUpForm() assert not form.validate() assert form.errors == { 'email': ['Sähköpostiosoite on pakollinen.'], 'username': ['Tämä kenttä on pakollinen.'], 'password': ['Tämä kenttä on pakollinen.'] }
def test_should_validate_when_all_data_present(self): data = MultiDict([ ('email', '*****@*****.**'), ('username', 'johndoe'), ('password', 'password'), ]) form = SignUpForm(data) assert form.validate() assert form.errors == {}
def test_should_not_validate_if_not_unique_username(self): UserFactory(username='******') data = MultiDict([ ('email', '*****@*****.**'), ('username', 'johndoe'), ('password', 'password') ]) form = SignUpForm(data) assert not form.validate() assert form.errors == {'username': ['Käyttäjänimi jo käytössä.']}
def test_should_not_validate_if_not_unique_email(self): UserFactory(email='*****@*****.**') data = MultiDict([ ('email', '*****@*****.**'), ('username', 'johndoe'), ('password', 'password'), ]) form = SignUpForm(data) assert not form.validate() assert form.errors == {'email': ['Sähköposti jo käytössä.']}
def sign_up(): if current_user.is_authenticated(): flash( 'Olet jo kirjautuneena sisään. ' 'Luodaksesi uuden tilin, kirjaudu ensin ulos.', 'info' ) return redirect(url_for('frontpage.index')) form = SignUpForm(request.form) if request.method == 'POST' and form.validate(): user = User() form.populate_obj(user) db.session.add(user) db.session.commit() send_registration_mail(user) flash( 'Sähköpostiisi lähetettiin tilisi aktivointilinkki', 'info' ) return redirect(url_for('frontpage.index')) else: return render_template('auth/sign_up.html', form=form)