parent
1018859800
commit
c156760f67
@ -0,0 +1,62 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
import pytest |
||||||
|
|
||||||
|
from {{cookiecutter.app_name}}.public.forms import LoginForm |
||||||
|
from {{cookiecutter.app_name}}.user.forms import RegisterForm |
||||||
|
from .factories import UserFactory |
||||||
|
|
||||||
|
class TestRegisterForm: |
||||||
|
|
||||||
|
def test_validate_user_already_registered(self, user): |
||||||
|
# Enters username that is already registered |
||||||
|
form = RegisterForm(username=user.username, email='foo@bar.com', |
||||||
|
password='example', confirm='example') |
||||||
|
|
||||||
|
assert form.validate() is False |
||||||
|
assert 'Username already registered' in form.username.errors |
||||||
|
|
||||||
|
def test_validate_email_already_registered(self, user): |
||||||
|
# enters email that is already registered |
||||||
|
form = RegisterForm(username='unique', email=user.email, |
||||||
|
password='example', confirm='example') |
||||||
|
|
||||||
|
assert form.validate() is False |
||||||
|
assert 'Email already registered' in form.email.errors |
||||||
|
|
||||||
|
def test_validate_success(self, db): |
||||||
|
form = RegisterForm(username='newusername', email='new@test.test', |
||||||
|
password='example', confirm='example') |
||||||
|
assert form.validate() is True |
||||||
|
|
||||||
|
|
||||||
|
class TestLoginForm: |
||||||
|
|
||||||
|
def test_validate_success(self, user): |
||||||
|
user.set_password('example') |
||||||
|
user.save() |
||||||
|
form = LoginForm(username=user.username, password='example') |
||||||
|
assert form.validate() is True |
||||||
|
assert form.user == user |
||||||
|
|
||||||
|
def test_validate_unknown_username(self, db): |
||||||
|
form = LoginForm(username='unknown', password='example') |
||||||
|
assert form.validate() is False |
||||||
|
assert 'Unknown username' in form.username.errors |
||||||
|
assert form.user is None |
||||||
|
|
||||||
|
def test_validate_invalid_password(self, user): |
||||||
|
user.set_password('example') |
||||||
|
user.save() |
||||||
|
form = LoginForm(username=user.username, password='wrongpassword') |
||||||
|
assert form.validate() is False |
||||||
|
assert 'Invalid password' in form.password.errors |
||||||
|
|
||||||
|
def test_validate_inactive_user(self, user): |
||||||
|
user.active = False |
||||||
|
user.set_password('example') |
||||||
|
user.save() |
||||||
|
# Correct username and password, but user is not activated |
||||||
|
form = LoginForm(username=user.username, password='example') |
||||||
|
assert form.validate() is False |
||||||
|
assert 'User not activated' in form.username.errors |
||||||
|
|
Loading…
Reference in new issue