Mercurial > public > madeira
diff email_list/tests/test_models.py @ 130:3062c547bb90
For Django 1.6: new test discovery plus reverse now does urlquote().
My base64 keys were padded with '=' and these got quoted when doing
a reverse to generate the URL. So changed the test to look for a
quoted version of the key. This will change the URLs sent to users, but
I believe it will all be taken care of by Django.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Tue, 24 Dec 2013 16:47:27 -0600 |
parents | email_list/tests/model_tests.py@e2868ad47a1e |
children | 1b5b9be17764 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/email_list/tests/test_models.py Tue Dec 24 16:47:27 2013 -0600 @@ -0,0 +1,76 @@ +""" +Model tests for the email_list application. + +""" +import datetime + +from django.test import TestCase + +from email_list.models import Subscriber + + +class SubscriberTestCase(TestCase): + + def test_auto_save(self): + + sub = Subscriber(name='', location='', email='test@example.com') + sub.save() + + now = datetime.datetime.now() + self.assertTrue(now - sub.status_date < datetime.timedelta(seconds=2)) + + self.assertTrue(sub.status == 'A') + self.assertTrue(sub.is_active()) + self.failIf(sub.is_pending()) + self.failIf(sub.is_leaving()) + + def test_set_pending(self): + + sub = Subscriber(name='', location='', email='test@example.com') + sub.set_pending() + + now = datetime.datetime.now() + self.assertTrue(now - sub.status_date < datetime.timedelta(seconds=2)) + + self.assertTrue(sub.status == 'P') + self.failIf(sub.is_active()) + self.assertTrue(sub.is_pending()) + self.failIf(sub.is_leaving()) + + self.assertTrue(len(sub.key) == sub.key_length) + + def test_set_active(self): + + sub = Subscriber(name='', location='', email='test@example.com') + sub.set_active() + + now = datetime.datetime.now() + self.assertTrue(now - sub.status_date < datetime.timedelta(seconds=2)) + + self.assertTrue(sub.status == 'A') + self.assertTrue(sub.is_active()) + self.failIf(sub.is_pending()) + self.failIf(sub.is_leaving()) + + def test_set_leaving(self): + + sub = Subscriber(name='', location='', email='test@example.com') + sub.set_leaving() + + now = datetime.datetime.now() + self.assertTrue(now - sub.status_date < datetime.timedelta(seconds=2)) + + self.assertTrue(sub.status == 'L') + self.failIf(sub.is_active()) + self.failIf(sub.is_pending()) + self.assertTrue(sub.is_leaving()) + + self.assertTrue(len(sub.key) == sub.key_length) + + def test_gen_key(self): + + sub = Subscriber(name='', location='', email='test@example.com') + sub.status_date = datetime.datetime.now() + sub.gen_key() + self.assertTrue(len(sub.key) == sub.key_length) +