def test_nova_context_processors(self): """ Verify that NewsletterIssues use NOVA_CONTEXT_PROCESSORS to render themselves when render() is called """ old_settings = getattr(settings, 'NOVA_CONTEXT_PROCESSORS', '!unset') settings.NOVA_CONTEXT_PROCESSORS = [ 'nova.tests.test_context_processor' ] try: issue = NewsletterIssue(template="{{ test }}") issue.newsletter = self.newsletter1 issue.save() self.assertEqual( 'extra test context', issue.render(extra_context={ 'email': EmailAddress(email='*****@*****.**') })) finally: if old_settings == '!unset': del settings.NOVA_CONTEXT_PROCESSORS else: settings.NOVA_CONTEXT_PROCESSORS = old_settings
def test_render(self): """ Verify that the NewsletterIssue template is correctly rendered. """ email = '*****@*****.**' template = """\ Issue ID: {{ issue.pk }} Date: {% now "Y-m-d" %} Email: {{ email }}""" issue = NewsletterIssue() issue.subject = 'Test' issue.template = template issue.newsletter = self.newsletter1 issue.save() expected_template = """\ Issue ID: {issue_id} Date: {date:%Y-%m-%d} Email: {email}""".format(issue_id=issue.pk, date=datetime.now(), email=email) rendered_template = issue.render(template=template, extra_context={'email': email}) self.assertEqual(rendered_template, expected_template)
def test_nova_context_processors(self): """ Verify that NewsletterIssues use NOVA_CONTEXT_PROCESSORS to render themselves when render() is called """ old_settings = getattr(settings, 'NOVA_CONTEXT_PROCESSORS', '!unset') settings.NOVA_CONTEXT_PROCESSORS = ['nova.tests.test_context_processor'] try: issue = NewsletterIssue(template="{{ test }}") issue.newsletter = self.newsletter1 issue.save() self.assertEqual('extra test context', issue.render(extra_context={ 'email': EmailAddress(email='*****@*****.**')})) finally: if old_settings == '!unset': del settings.NOVA_CONTEXT_PROCESSORS else: settings.NOVA_CONTEXT_PROCESSORS = old_settings