]> git.ozlabs.org Git - patchwork/blobdiff - apps/patchwork/tests/user.py
Fix django-1.6 incompatibilities
[patchwork] / apps / patchwork / tests / user.py
index c9e5be3feb2d549a03f5ae4728483c017d2cfea2..08b9fa5791e948f81bd9464ffe0d75d3d9873d51 100644 (file)
@@ -22,9 +22,10 @@ from django.test import TestCase
 from django.test.client import Client
 from django.core import mail
 from django.core.urlresolvers import reverse
+from django.conf import settings
 from django.contrib.auth.models import User
-from patchwork.models import EmailConfirmation, Person
-from patchwork.utils import userprofile_register_callback
+from patchwork.models import EmailConfirmation, Person, Bundle
+from patchwork.tests.utils import defaults, error_strings
 
 def _confirmation_url(conf):
     return reverse('patchwork.views.confirm', kwargs = {'key': conf.key})
@@ -39,7 +40,6 @@ class TestUser(object):
         self.password = User.objects.make_random_password()
         self.user = User.objects.create_user(self.username,
                             self.email, self.password)
-        userprofile_register_callback(self.user)
 
 class UserPersonRequestTest(TestCase):
     def setUp(self):
@@ -65,7 +65,7 @@ class UserPersonRequestTest(TestCase):
         self.assertEquals(response.status_code, 200)
         self.assertTrue(response.context['linkform'])
         self.assertFormError(response, 'linkform', 'email',
-                'Enter a valid e-mail address.')
+                                error_strings['email'])
 
     def testUserPersonRequestValid(self):
         response = self.client.post('/user/link/',
@@ -105,12 +105,12 @@ class UserPersonConfirmTest(TestCase):
         self.conf.save()
 
     def testUserPersonConfirm(self):
-        self.assertEquals(Person.objects.count(), 1)
+        self.assertEquals(Person.objects.count(), 0)
         response = self.client.get(_confirmation_url(self.conf))
         self.assertEquals(response.status_code, 200)
 
         # check that the Person object has been created and linked
-        self.assertEquals(Person.objects.count(), 2)
+        self.assertEquals(Person.objects.count(), 1)
         person = Person.objects.get(email = self.user.secondary_email)
         self.assertEquals(person.email, self.user.secondary_email)
         self.assertEquals(person.user, self.user.user)
@@ -119,3 +119,39 @@ class UserPersonConfirmTest(TestCase):
         # need to reload the confirmation to check this.
         conf = EmailConfirmation.objects.get(pk = self.conf.pk)
         self.assertEquals(conf.active, False)
+
+class UserLoginRedirectTest(TestCase):
+    
+    def testUserLoginRedirect(self):
+        url = '/user/'
+        response = self.client.get(url)
+        self.assertRedirects(response, settings.LOGIN_URL + '?next=' + url)
+
+class UserProfileTest(TestCase):
+
+    def setUp(self):
+        self.user = TestUser()
+        self.client.login(username = self.user.username,
+                          password = self.user.password)
+
+    def testUserProfile(self):
+        response = self.client.get('/user/')
+        self.assertContains(response, 'User Profile: %s' % self.user.username)
+        self.assertContains(response, 'User Profile: %s' % self.user.username)
+
+    def testUserProfileNoBundles(self):
+        response = self.client.get('/user/')
+        self.assertContains(response, 'You have no bundles')
+
+    def testUserProfileBundles(self):
+        project = defaults.project
+        project.save()
+
+        bundle = Bundle(project = project, name = 'test-1',
+                        owner = self.user.user)
+        bundle.save()
+
+        response = self.client.get('/user/')
+
+        self.assertContains(response, 'You have the following bundle')
+        self.assertContains(response, bundle.get_absolute_url())