def test_format_assigned_offer_no_greeting(self): """ Test that the assigned offer email message is formatted correctly if there is no greeting or closing. """ code = 'ABC7RUEOU7VHBH7Q' placeholder_dict = SafeDict( REDEMPTIONS_REMAINING=499, USER_EMAIL='*****@*****.**', CODE=code, EXPIRATION_DATE='2018-12-19', ) email = format_email(self._BROKEN_EMAIL_TEMPLATE, placeholder_dict, None, None) self.assertIn('{DOES_NOT_EXIST}', email) self.assertIn(code, email) # Compare strings, ignoring whitespace differences expected_email = """ <br/> Text<br/> {DOES_NOT_EXIST} [email protected]<br/> code: ABC7RUEOU7VHBH7Q ABC7RUEOU7VHBH7Q<br/> {}<br/> { abc d }<br/> More text.<br/> """ self.assertEqual(email.split(), expected_email.split())
def test_format_assigned_offer_broken_email(self): """ Test that the assigned offer email message is formatted correctly if the template is broken. """ greeting = 'hi {CODE} <h1>there</h1>\n' closing = '\nbye {CODE}, <h3>come back soon!</h3>' code = 'GIL7RUEOU7VHBH7Q' placeholder_dict = SafeDict( REDEMPTIONS_REMAINING=500, USER_EMAIL='*****@*****.**', CODE=code, EXPIRATION_DATE='2018-12-19', ) email = format_email(self._BROKEN_EMAIL_TEMPLATE, placeholder_dict, greeting, closing) self.assertIn('{DOES_NOT_EXIST}', email) self.assertIn(code, email) # Compare strings, ignoring whitespace differences expected_email = """ hi {CODE} <h1>there</h1><br/><br/> Text<br/> {DOES_NOT_EXIST} [email protected]<br/> code: GIL7RUEOU7VHBH7Q GIL7RUEOU7VHBH7Q<br/> {}<br/> { abc d }<br/> More text.<br/> <br/>bye {CODE}, <h3>come back soon!</h3> """ self.assertEqual(email.split(), expected_email.split())
def test_format_assigned_offer_broken_email(self): """ Test that the assigned offer email message is formatted correctly if the template is broken. """ greeting = 'hi {CODE} ' closing = ' bye {CODE}' code = 'GIL7RUEOU7VHBH7Q' placeholder_dict = SafeDict( REDEMPTIONS_REMAINING=500, USER_EMAIL='*****@*****.**', CODE=code, EXPIRATION_DATE='2018-12-19', ) email = format_email(self._BROKEN_EMAIL_TEMPLATE, placeholder_dict, greeting, closing) self.assertIn('{DOES_NOT_EXIST}', email) self.assertIn(code, email) # Compare strings, ignoring whitespace differences expected_email = """ hi {CODE} Text {DOES_NOT_EXIST} [email protected] code: GIL7RUEOU7VHBH7Q GIL7RUEOU7VHBH7Q {} { abc d } More text. bye {CODE} """ self.assertEqual(email.split(), expected_email.split())
def test_format_assigned_offer_email( self, template, greeting, closing, tokens, ): """ Test that the assigned offer email message is formatted correctly. """ placeholder_dict = SafeDict( REDEMPTIONS_REMAINING=tokens.get('redemptions_remaining'), USER_EMAIL=tokens.get('learner_email'), CODE=tokens.get('code'), EXPIRATION_DATE=tokens.get('code_expiration_date'), ) email = format_email(template, placeholder_dict, greeting, closing) self.assertIn(str(tokens.get('redemptions_remaining')), email) self.assertIn(tokens.get('learner_email'), email) self.assertIn(tokens.get('code'), email) self.assertIn(tokens.get('code_expiration_date'), email) self.assertIn(greeting, email) self.assertIn(closing, email)