def test_empty_email(self): from mudwyrm.views.auth import register from pyramid.httpexceptions import HTTPFound request = testing.DummyRequest( post = dict( name = 'user', password = '******', password_confirmation = 'password', email = '' ) ) result = register(request) self.assertIn('form', result) self.assertEquals(result['form'].errors_for('email'), ['Please enter an email address'])
def test_not_matching_passwords(self): from mudwyrm.views.auth import register from pyramid.httpexceptions import HTTPFound request = testing.DummyRequest( post = dict( name = 'user', password = '******', password_confirmation = 'different password', email = '*****@*****.**' ) ) result = register(request) self.assertIn('form', result) self.assertEquals(result['form'].errors_for('password_confirmation'), ['Fields do not match'])
def test_too_short_password(self): from mudwyrm.views.auth import register from pyramid.httpexceptions import HTTPFound request = testing.DummyRequest( post = dict( name = 'user', password = '******', password_confirmation = 'pass', email = '*****@*****.**' ) ) result = register(request) self.assertIn('form', result) self.assertEquals(result['form'].errors_for('password'), ['Enter a value at least 6 characters long'])
def test_existing_username(self): from mudwyrm.views.auth import register from pyramid.httpexceptions import HTTPFound request = testing.DummyRequest( post = dict( name = 'foo', password = '******', password_confirmation = 'password', email = '*****@*****.**' ) ) result = register(request) self.assertIn('form', result) self.assertEquals(result['form'].errors_for('name'), ['That username is already taken'])
def test_success(self): from mudwyrm.views.auth import register from mudwyrm.models import DBSession from mudwyrm.models.auth import User, Group from pyramid.httpexceptions import HTTPFound request = testing.DummyRequest( post = dict( name = 'user', password = '******', password_confirmation = 'password', email = '*****@*****.**' ) ) request.route_url = lambda r: '/' if r == 'root' else None result = register(request) self.assertIsInstance(result, HTTPFound) self.assertEquals(result.location, request.route_url('root')) user = DBSession.query(User).filter(User.name == 'user').first() self.assertIsNotNone(user) self.assertEquals(user.name, 'user') self.assertTrue(user.validate_password('password')) self.assertEquals(user.email, '*****@*****.**') self.assertEquals(user.groups[0].name, 'users')
def test_get(self): from mudwyrm.views.auth import register request = testing.DummyRequest() result = register(request) self.assertIn('form', result) self.assertEquals(result['form'].all_errors(), [])