diff rhodecode/tests/functional/test_admin_settings.py @ 547:1e757ac98988

renamed project to rhodecode
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 06 Oct 2010 03:18:16 +0200
parents pylons_app/tests/functional/test_admin_settings.py@12c976209b2e
children 7486da5f0628
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/tests/functional/test_admin_settings.py	Wed Oct 06 03:18:16 2010 +0200
@@ -0,0 +1,116 @@
+from rhodecode.tests import *
+from rhodecode.model.db import User
+
+class TestSettingsController(TestController):
+
+    def test_index(self):
+        response = self.app.get(url('admin_settings'))
+        # Test response...
+
+    def test_index_as_xml(self):
+        response = self.app.get(url('formatted_admin_settings', format='xml'))
+
+    def test_create(self):
+        response = self.app.post(url('admin_settings'))
+
+    def test_new(self):
+        response = self.app.get(url('admin_new_setting'))
+
+    def test_new_as_xml(self):
+        response = self.app.get(url('formatted_admin_new_setting', format='xml'))
+
+    def test_update(self):
+        response = self.app.put(url('admin_setting', setting_id=1))
+
+    def test_update_browser_fakeout(self):
+        response = self.app.post(url('admin_setting', setting_id=1), params=dict(_method='put'))
+
+    def test_delete(self):
+        response = self.app.delete(url('admin_setting', setting_id=1))
+
+    def test_delete_browser_fakeout(self):
+        response = self.app.post(url('admin_setting', setting_id=1), params=dict(_method='delete'))
+
+    def test_show(self):
+        response = self.app.get(url('admin_setting', setting_id=1))
+
+    def test_show_as_xml(self):
+        response = self.app.get(url('formatted_admin_setting', setting_id=1, format='xml'))
+
+    def test_edit(self):
+        response = self.app.get(url('admin_edit_setting', setting_id=1))
+
+    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='test12',
+                                                            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='test12',
+                                                            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='test12',
+                                                            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('test_regular2', 'test12')
+                
+        new_email = 'newmail.pl'
+        response = self.app.post(url('admin_settings_my_account_update'), params=dict(
+                                                            _method='put',
+                                                            username='test_admin',
+                                                            new_password='test12',
+                                                            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'