From 9d56ffbb86ab68d6d0da67c293a32c02114b06f6 Mon Sep 17 00:00:00 2001 From: Andy Zickler Date: Wed, 1 Feb 2017 15:17:29 -0500 Subject: [PATCH] Change SparkPostMessage class __init__ to copy campaign attribute from EmailMessage object #136 --- sparkpost/django/message.py | 3 +++ test/django/test_message.py | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/sparkpost/django/message.py b/sparkpost/django/message.py index ee6b225..568fa5a 100644 --- a/sparkpost/django/message.py +++ b/sparkpost/django/message.py @@ -87,4 +87,7 @@ def __init__(self, message): if hasattr(message, 'substitution_data'): formatted['substitution_data'] = message.substitution_data + if hasattr(message, 'campaign'): + formatted['campaign'] = message.campaign + super(SparkPostMessage, self).__init__(formatted) diff --git a/test/django/test_message.py b/test/django/test_message.py index dda735f..08606b8 100644 --- a/test/django/test_message.py +++ b/test/django/test_message.py @@ -175,6 +175,17 @@ def test_template(): assert actual == expected +def test_campaign(): + email_message = EmailMessage(**base_options) + email_message.campaign = 'campaign-id' + actual = SparkPostMessage(email_message) + expected = dict( + campaign='campaign-id' + ) + expected.update(base_expected) + assert actual == expected + + def test_substitution_data(): email_message = EmailMessage( to=[