Mercurial > kallithea
diff pylons_app/tests/functional/test_admin_settings.py @ 491:fefffd6fd5f4 celery
Added some more tests, rewrite testing schema, to autogenerate fresh db, new index.
cleaned up some codes that involves testing.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Tue, 21 Sep 2010 01:08:01 +0200 |
parents | 7c978511c951 |
children | 53aa1ee1af86 |
line wrap: on
line diff
--- a/pylons_app/tests/functional/test_admin_settings.py Mon Sep 20 22:55:55 2010 +0200 +++ b/pylons_app/tests/functional/test_admin_settings.py Tue Sep 21 01:08:01 2010 +0200 @@ -1,4 +1,5 @@ from pylons_app.tests import * +from pylons_app.model.db import User class TestSettingsController(TestController): @@ -41,3 +42,75 @@ def test_edit_as_xml(self): response = self.app.get(url('formatted_admin_edit_setting', setting_id=1, format='xml')) + + def test_my_account(self): + self.log_user() + response = self.app.get(url('admin_settings_my_account')) + print response + assert 'value="test_admin' in response.body + + + + def test_my_account_update(self): + self.log_user() + new_email = 'new@mail.pl' + response = self.app.post(url('admin_settings_my_account_update'), params=dict( + _method='put', + username='test_admin', + new_password='test', + password='', + name='NewName', + lastname='NewLastname', + email=new_email,)) + response.follow() + print response + + print 'x' * 100 + print response.session + assert 'Your account was updated succesfully' in response.session['flash'][0][1], 'no flash message about success of change' + user = self.sa.query(User).filter(User.username == 'test_admin').one() + assert user.email == new_email , 'incorrect user email after update got %s vs %s' % (user.email, new_email) + + def test_my_account_update_own_email_ok(self): + self.log_user() + + new_email = 'new@mail.pl' + response = self.app.post(url('admin_settings_my_account_update'), params=dict( + _method='put', + username='test_admin', + new_password='test', + name='NewName', + lastname='NewLastname', + email=new_email,)) + print response + + def test_my_account_update_err_email_exists(self): + self.log_user() + + new_email = 'test_regular@mail.com'#already exisitn email + response = self.app.post(url('admin_settings_my_account_update'), params=dict( + _method='put', + username='test_admin', + new_password='test', + name='NewName', + lastname='NewLastname', + email=new_email,)) + print response + + assert 'That e-mail address is already taken' in response.body, 'Missing error message about existing email' + + + def test_my_account_update_err(self): + self.log_user() + + new_email = 'newmail.pl' + response = self.app.post(url('admin_settings_my_account_update'), params=dict( + _method='put', + username='test_regular2', + new_password='test', + name='NewName', + lastname='NewLastname', + email=new_email,)) + print response + assert 'An email address must contain a single @' in response.body, 'Missing error message about wrong email' + assert 'This username already exists' in response.body, 'Missing error message about existing user'