# along with Patchwork; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.test import TestCase
-from patchwork.models import EmailConfirmation, Person
+from patchwork.models import EmailConfirmation
+from patchwork.tests.utils import create_user
def _confirmation_url(conf):
return reverse('confirm', kwargs={'key': conf.key})
-class TestUser(object):
- username = 'testuser'
- email = 'test@example.com'
- secondary_email = 'test2@example.com'
- password = None
-
- def __init__(self):
- self.password = User.objects.make_random_password()
- self.user = User.objects.create_user(self.username,
- self.email, self.password)
+def _generate_secondary_email(user):
+ return 'secondary_%d@example.com' % user.id
class InvalidConfirmationTest(TestCase):
def setUp(self):
- EmailConfirmation.objects.all().delete()
- Person.objects.all().delete()
- self.user = TestUser()
+ self.user = create_user()
+ self.secondary_email = _generate_secondary_email(self.user)
+
self.conf = EmailConfirmation(type='userperson',
- email=self.user.secondary_email,
- user=self.user.user)
+ email=self.secondary_email,
+ user=self.user)
self.conf.save()
- def testInactiveConfirmation(self):
+ def test_inactive_confirmation(self):
self.conf.active = False
self.conf.save()
response = self.client.get(_confirmation_url(self.conf))
self.assertEqual(response.context['error'], 'inactive')
self.assertEqual(response.context['conf'], self.conf)
- def testExpiredConfirmation(self):
+ def test_expired_confirmation(self):
self.conf.date -= self.conf.validity
self.conf.save()
response = self.client.get(_confirmation_url(self.conf))