]> asedeno.scripts.mit.edu Git - bluechips.git/blob - bluechips/tests/functional/test_user.py
Update functional tests for /user to incorporate new URLs.
[bluechips.git] / bluechips / tests / functional / test_user.py
1 from pylons import config
2
3 from bluechips.tests import *
4 from bluechips import model
5 from bluechips.model import meta
6
7 class TestUserController(TestController):
8
9     def test_email(self):
10         response = self.app.get(url_for(controller='user', action='email'))
11         # Test response...
12         response.mustcontain('Email Notifications', 'User Settings')
13         form = response.form
14         form['new_email'] = 'test@example.com'
15         response = form.submit().follow()
16         response.mustcontain('Updated email address')
17
18         user = meta.Session.query(model.User).\
19                 filter_by(username=unicode(config['fake_username'])).one()
20         assert user.email == 'test@example.com'
21
22     def test_clear_email(self):
23         response = self.app.get(url_for(controller='user', action='email'))
24         form = response.form
25         form['new_email'] = ''
26         response = form.submit().follow()
27         response.mustcontain('Removed email address')
28
29         user = meta.Session.query(model.User).\
30                 filter_by(username=unicode(config['fake_username'])).one()
31         assert user.email == None
32
33     def test_xsrf_protection(self):
34         self.app.post(url_for(controller='user',
35                               action='update'),
36                       {'new_email': 'malicious@example.com'},
37                       status=403)