Support merge_language option.

Closes #84.
This commit is contained in:
medmunds
2015-01-16 13:48:39 -08:00
parent 1c4ee989f7
commit 76e29c0845
4 changed files with 11 additions and 1 deletions

View File

@@ -194,6 +194,7 @@ class DjrillBackend(BaseEmailBackend):
'track_opens', 'track_clicks', 'auto_text', 'auto_html', 'track_opens', 'track_clicks', 'auto_text', 'auto_html',
'inline_css', 'url_strip_qs', 'inline_css', 'url_strip_qs',
'tracking_domain', 'signing_domain', 'return_path_domain', 'tracking_domain', 'signing_domain', 'return_path_domain',
'merge_language',
'tags', 'preserve_recipients', 'view_content_link', 'subaccount', 'tags', 'preserve_recipients', 'view_content_link', 'subaccount',
'google_analytics_domains', 'google_analytics_campaign', 'google_analytics_domains', 'google_analytics_campaign',
'metadata'] 'metadata']

View File

@@ -343,6 +343,7 @@ class DjrillMandrillFeatureTests(DjrillBackendMockAPITestCase):
def test_merge(self): def test_merge(self):
# Djrill expands simple python dicts into the more-verbose name/content # Djrill expands simple python dicts into the more-verbose name/content
# structures the Mandrill API uses # structures the Mandrill API uses
self.message.merge_language = "mailchimp"
self.message.global_merge_vars = { 'GREETING': "Hello", self.message.global_merge_vars = { 'GREETING': "Hello",
'ACCOUNT_TYPE': "Basic" } 'ACCOUNT_TYPE': "Basic" }
self.message.merge_vars = { self.message.merge_vars = {
@@ -352,6 +353,7 @@ class DjrillMandrillFeatureTests(DjrillBackendMockAPITestCase):
} }
self.message.send() self.message.send()
data = self.get_api_call_data() data = self.get_api_call_data()
self.assertEqual(data['message']['merge_language'], "mailchimp")
self.assertEqual(data['message']['global_merge_vars'], self.assertEqual(data['message']['global_merge_vars'],
[ {'name': 'ACCOUNT_TYPE', 'content': "Basic"}, [ {'name': 'ACCOUNT_TYPE', 'content': "Basic"},
{'name': "GREETING", 'content': "Hello"} ]) {'name': "GREETING", 'content': "Hello"} ])
@@ -456,6 +458,7 @@ class DjrillMandrillFeatureTests(DjrillBackendMockAPITestCase):
self.assertFalse('google_analytics_domains' in data['message']) self.assertFalse('google_analytics_domains' in data['message'])
self.assertFalse('google_analytics_campaign' in data['message']) self.assertFalse('google_analytics_campaign' in data['message'])
self.assertFalse('metadata' in data['message']) self.assertFalse('metadata' in data['message'])
self.assertFalse('merge_language' in data['message'])
self.assertFalse('global_merge_vars' in data['message']) self.assertFalse('global_merge_vars' in data['message'])
self.assertFalse('merge_vars' in data['message']) self.assertFalse('merge_vars' in data['message'])
self.assertFalse('recipient_metadata' in data['message']) self.assertFalse('recipient_metadata' in data['message'])

View File

@@ -48,7 +48,6 @@ class DjrillMandrillSendTemplateTests(DjrillBackendMockAPITestCase):
msg.use_template_from = True msg.use_template_from = True
with self.assertRaises(MandrillAPIError): with self.assertRaises(MandrillAPIError):
msg.send() msg.send()
self.assertEqual(sent, 0)
def test_send_template_without_subject_field(self): def test_send_template_without_subject_field(self):
msg = mail.EmailMessage('Subject', 'Text Body', msg = mail.EmailMessage('Subject', 'Text Body',

View File

@@ -171,6 +171,13 @@ Most of the options from the Mandrill
.. versionadded:: 0.7 .. versionadded:: 0.7
.. attribute:: merge_language
``str``: the merge tag language if using merge tags -- e.g., "mailchimp" or "handlebars".
Default from your Mandrill account settings.
.. versionadded:: 1.3
.. attribute:: global_merge_vars .. attribute:: global_merge_vars
``dict``: merge variables to use for all recipients (most useful with :ref:`mandrill-templates`). :: ``dict``: merge variables to use for all recipients (most useful with :ref:`mandrill-templates`). ::