Added post_entry at /api/submit
[mediagoblin.git] / mediagoblin / tests / test_edit.py
index 3637b046501b614b074f20c67bed0157c1d73acb..353a7eb958dfe6d314bbb0656bc4c8f3247801f6 100644 (file)
@@ -1,5 +1,5 @@
 # GNU MediaGoblin -- federated, autonomous media hosting
-# Copyright (C) 2011 MediaGoblin contributors.  See AUTHORS.
+# Copyright (C) 2011, 2012 MediaGoblin contributors.  See AUTHORS.
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Affero General Public License as published by
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 from mediagoblin import mg_globals
-from mediagoblin.tests.tools import setup_fresh_app
+from mediagoblin.tests.tools import setup_fresh_app, fixture_add_user
 from mediagoblin.tools import template
-from mediagoblin.auth.lib import bcrypt_check_password, \
-                                 bcrypt_gen_password_hash
+from mediagoblin.auth.lib import bcrypt_check_password
 
 
 @setup_fresh_app
 def test_change_password(test_app):
     """Test changing password correctly and incorrectly"""
     # set up new user
-    test_user = mg_globals.database.User()
-    test_user['username'] = u'chris'
-    test_user['email'] = u'chris@example.com'
-    test_user['email_verified'] = True
-    test_user['status'] = u'active'
-    test_user['pw_hash'] = bcrypt_gen_password_hash('toast')
-    test_user.save()
+    test_user = fixture_add_user()
 
     test_app.post(
         '/auth/login/', {
@@ -41,45 +34,36 @@ def test_change_password(test_app):
     # test that the password can be changed
     # template.clear_test_template_context()
     test_app.post(
-        '/edit/profile/', {
-            'bio': u'',
-            'url': u'',
+        '/edit/account/', {
             'old_password': 'toast',
             'new_password': '123456',
-            'confirm_password': '123456'})
+            'wants_comment_notification': 'y'
+            })
 
     # test_user has to be fetched again in order to have the current values
-    test_user = mg_globals.database.User.one({'username': 'chris'})
+    test_user = mg_globals.database.User.one({'username': u'chris'})
 
-    assert bcrypt_check_password('123456', test_user['pw_hash'])
+    assert bcrypt_check_password('123456', test_user.pw_hash)
 
     # test that the password cannot be changed if the given old_password
     # is wrong
     # template.clear_test_template_context()
     test_app.post(
-        '/edit/profile/', {
-            'bio': u'',
-            'url': u'',
+        '/edit/account/', {
             'old_password': 'toast',
             'new_password': '098765',
-            'confirm_password': '098765'})
+            })
 
-    test_user = mg_globals.database.User.one({'username': 'chris'})
+    test_user = mg_globals.database.User.one({'username': u'chris'})
 
-    assert not bcrypt_check_password('098765', test_user['pw_hash'])
+    assert not bcrypt_check_password('098765', test_user.pw_hash)
 
 
 @setup_fresh_app
 def change_bio_url(test_app):
     """Test changing bio and URL"""
     # set up new user
-    test_user = mg_globals.database.User()
-    test_user['username'] = u'chris'
-    test_user['email'] = u'chris@example.com'
-    test_user['email_verified'] = True
-    test_user['status'] = u'active'
-    test_user['pw_hash'] = bcrypt_gen_password_hash('toast')
-    test_user.save()
+    test_user = fixture_add_user()
 
     # test changing the bio and the URL properly
     test_app.post(
@@ -87,10 +71,10 @@ def change_bio_url(test_app):
             'bio': u'I love toast!',
             'url': u'http://dustycloud.org/'})
 
-    test_user = mg_globals.database.User.one({'username': 'chris'})
+    test_user = mg_globals.database.User.one({'username': u'chris'})
 
-    assert test_user['bio'] == u'I love toast!'
-    assert test_user['url'] == u'http://dustycloud.org/'
+    assert test_user.bio == u'I love toast!'
+    assert test_user.url == u'http://dustycloud.org/'
 
     # test changing the bio and the URL inproperly
     too_long_bio = 150 * 'T' + 150 * 'o' + 150 * 'a' + 150 * 's' + 150* 't'
@@ -101,7 +85,7 @@ def change_bio_url(test_app):
             'bio': too_long_bio,
             'url': 'this-is-no-url'})
 
-    test_user = mg_globals.database.User.one({'username': 'chris'})
+    test_user = mg_globals.database.User.one({'username': u'chris'})
 
     context = template.TEMPLATE_TEST_CONTEXT['mediagoblin/edit/edit_profile.html']
     form = context['edit_profile_form']