Skip to content

Commit

Permalink
Merge pull request #1 from agroptima/ADJ-2912-upgrade-to-django-1-11
Browse files Browse the repository at this point in the history
ADJ-2912 upgrade to Django 1.11
  • Loading branch information
ssaornil authored Jun 14, 2018
2 parents 9993d5e + 9a1a8fb commit f1fcb79
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 18 deletions.
14 changes: 14 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: 2
jobs:
build:
docker:
- image: circleci/python:2.7-jessie

steps:
- checkout
- run:
name: install dependencies
command: pip install --user Django==1.11.13
- run:
name: run tests
command: python -m mailviews.tests
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ dist/
docs/_build/
htmlcov/
node_modules/
.idea/
.vscode/
3 changes: 1 addition & 2 deletions mailviews/messages.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.core.exceptions import ImproperlyConfigured
from django.core.mail.message import EmailMessage, EmailMultiAlternatives
from django.template import Context
from django.template.loader import get_template, select_template

from mailviews.utils import unescape
Expand Down Expand Up @@ -34,7 +33,7 @@ def get_context_data(self, **kwargs):
:rtype: :class:`django.template.Context`
"""
return Context(kwargs)
return kwargs

def render_to_message(self, extra_context=None, **kwargs):
"""
Expand Down
6 changes: 3 additions & 3 deletions mailviews/tests/emails/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@


class TemplateContextMixin(object):
subject_template = Template('{{ subject }}')
body_template = Template('{{ content }}')
subject_template_name = 'subject.txt'
body_template_name = 'body.txt'

def __init__(self, subject, content):
self.subject = subject
Expand All @@ -26,4 +26,4 @@ class BasicEmailMessageView(TemplateContextMixin, TemplatedEmailMessageView):


class BasicHTMLEmailMessageView(TemplateContextMixin, TemplatedHTMLEmailMessageView):
html_body_template = Template('{{ content|linebreaks }}')
html_body_template_name = 'content.html'
1 change: 1 addition & 0 deletions mailviews/tests/templates/content.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ content|linebreaks }}
26 changes: 14 additions & 12 deletions mailviews/tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from django.core.urlresolvers import reverse
from django.test import TestCase
from django.test.client import Client
from django.template import Context, Template, TemplateDoesNotExist
from django.template import TemplateDoesNotExist
from django.template.loader import get_template

from mailviews.messages import (TemplatedEmailMessageView,
Expand Down Expand Up @@ -67,17 +67,18 @@ def setUp(self):
self.template = 'Hello, world!'

self.subject = 'subject'
self.subject_template = Template('{{ subject }}')
self.subject_template = get_template('subject.txt')

self.body = 'body'
self.body_template = Template('{{ body }}')
self.expected_body = 'body\n'
self.body_template = get_template('body.txt')

self.context_dict = {
'subject': self.subject,
'body': self.body,
}

self.context = Context(self.context_dict)
self.context = self.context_dict

self.render_subject = functools.partial(self.message.render_subject,
context=self.context)
Expand Down Expand Up @@ -127,17 +128,17 @@ def test_body_template_name(self):
self.assertTemplateExists(template)

self.message.body_template_name = template
self.assertEqual(self.render_body(), self.body + '\n')
self.assertEqual(self.render_body(), self.expected_body)

def test_body_template(self):
self.message.body_template = self.body_template
self.assertEqual(self.render_body(), self.body)
self.assertEqual(self.render_body(), self.expected_body)

def test_render_to_message(self):
self.add_templates_to_message()
message = self.message.render_to_message(self.context_dict)
self.assertEqual(message.subject, self.subject)
self.assertEqual(message.body, self.body)
self.assertEqual(message.body, self.expected_body)

def test_send(self):
self.add_templates_to_message()
Expand Down Expand Up @@ -167,7 +168,8 @@ def setUp(self):
super(TemplatedHTMLEmailMessageViewTestCase, self).setUp()

self.html_body = 'html body'
self.html_body_template = Template('{{ html }}')
self.expected_html_body = 'html body\n'
self.html_body_template = get_template('body.html')

self.context_dict['html'] = self.html_body
self.context['html'] = self.html_body
Expand Down Expand Up @@ -203,14 +205,14 @@ def test_html_body_template_name(self):

def test_html_body_template(self):
self.message.html_body_template = self.html_body_template
self.assertEqual(self.render_html_body(), self.html_body)
self.assertEqual(self.render_html_body(), self.expected_html_body)

def test_render_to_message(self):
self.add_templates_to_message()
message = self.message.render_to_message(self.context_dict)
self.assertEqual(message.subject, self.subject)
self.assertEqual(message.body, self.body)
self.assertEqual(message.alternatives, [(self.html_body, 'text/html')])
self.assertEqual(message.body, self.expected_body)
self.assertEqual(message.alternatives, [(self.expected_html_body, 'text/html')])

def test_send(self):
self.add_templates_to_message()
Expand Down Expand Up @@ -267,4 +269,4 @@ def test_customizable_preview(self):
self.assertEqual(response.status_code, 200)
self.assertContains(response, '<form')
self.assertContains(response, '#body-plain')
self.assertContains(response, '#raw')
self.assertContains(response, '#raw')
2 changes: 1 addition & 1 deletion mailviews/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,4 @@ def unescape(context):
Useful for rendering plain-text templates without having to wrap the entire
template in an `{% autoescape off %}` tag.
"""
return Context(context, autoescape=False)
return context

0 comments on commit f1fcb79

Please sign in to comment.