Renames patch_datetime to patches, adds e-mail patching bits
This commit is contained in:
parent
1faa608425
commit
155f6d42d9
2 changed files with 27 additions and 3 deletions
|
@ -1,5 +1,6 @@
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
|
|
||||||
|
from registrasion.contrib import mail
|
||||||
|
|
||||||
class SetTimeMixin(object):
|
class SetTimeMixin(object):
|
||||||
''' Patches timezone.now() for the duration of a test case. Allows us to
|
''' Patches timezone.now() for the duration of a test case. Allows us to
|
||||||
|
@ -23,3 +24,26 @@ class SetTimeMixin(object):
|
||||||
|
|
||||||
def new_timezone_now(self):
|
def new_timezone_now(self):
|
||||||
return self.now
|
return self.now
|
||||||
|
|
||||||
|
|
||||||
|
class SendEmailMixin(object):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(SendEmailMixin, self).setUp()
|
||||||
|
|
||||||
|
self._old_sender = mail.__send_email__
|
||||||
|
mail.__send_email__ = self._send_email
|
||||||
|
self.emails = []
|
||||||
|
|
||||||
|
def _send_email(self, template_prefix, to, kind, **kwargs):
|
||||||
|
args = {"to": to, "kind": kind}
|
||||||
|
args.update(kwargs)
|
||||||
|
self.emails.append(args)
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
mail.__send_email__ = self._old_sender
|
||||||
|
super(SendEmailMixin, self).tearDown()
|
||||||
|
|
||||||
|
|
||||||
|
class MixInPatches(SetTimeMixin, SendEmailMixin):
|
||||||
|
pass
|
|
@ -16,12 +16,12 @@ from registrasion.controllers.batch import BatchController
|
||||||
from registrasion.controllers.product import ProductController
|
from registrasion.controllers.product import ProductController
|
||||||
|
|
||||||
from controller_helpers import TestingCartController
|
from controller_helpers import TestingCartController
|
||||||
from patch_datetime import SetTimeMixin
|
from patches import MixInPatches
|
||||||
|
|
||||||
UTC = pytz.timezone('UTC')
|
UTC = pytz.timezone('UTC')
|
||||||
|
|
||||||
|
|
||||||
class RegistrationCartTestCase(SetTimeMixin, TestCase):
|
class RegistrationCartTestCase(MixInPatches, TestCase):
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(RegistrationCartTestCase, self).setUp()
|
super(RegistrationCartTestCase, self).setUp()
|
||||||
|
|
Loading…
Reference in a new issue