summaryrefslogtreecommitdiff
path: root/addons/test_mail_full
diff options
context:
space:
mode:
authorJérémy Hennecart <jeh@odoo.com>2020-10-09 10:19:05 +0000
committerThibault Delavallée <tde@odoo.com>2020-10-20 11:02:31 +0000
commit183a7677616ac36ed06109e22288aacb185ac097 (patch)
treeb1a30371c0c299b41339ceb7b8e9f1ff8690218b /addons/test_mail_full
parent7e54d9aa6b6a955200e7002b143848de0c3a093e (diff)
[FIX] test_mass_mailing: add test for the send_mail_test action
This test ensures that when using the test sending tool of mass mailing (sms) a wrong jinja content is detected if we have any record available to evaluate it. PR odoo/odoo#55696 Task ID-2312442
Diffstat (limited to 'addons/test_mail_full')
-rw-r--r--addons/test_mail_full/tests/test_mass_sms.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/addons/test_mail_full/tests/test_mass_sms.py b/addons/test_mail_full/tests/test_mass_sms.py
index 2bc1760cc60..a3e3d35e14a 100644
--- a/addons/test_mail_full/tests/test_mass_sms.py
+++ b/addons/test_mail_full/tests/test_mass_sms.py
@@ -5,6 +5,7 @@
from odoo.addons.phone_validation.tools import phone_validation
from odoo.addons.test_mail_full.tests.common import TestMailFullCommon
from odoo.tests import tagged
+from odoo.tools import mute_logger
@tagged('mass_mailing')
@@ -147,3 +148,32 @@ class TestMassSMS(TestMailFullCommon):
[{'partner': record.customer_id, 'number': self.records_numbers[i+5], 'content': 'Dear %s this is a mass SMS.' % record.display_name} for i, record in enumerate(self.records[5:])],
self.mailing, self.records[5:], check_sms=True
)
+
+ @mute_logger('odoo.addons.mail.models.mail_render_mixin')
+ def test_mass_sms_test_button(self):
+ mailing = self.env['mailing.mailing'].create({
+ 'name': 'TestButton',
+ 'subject': 'Subject ${object.name}',
+ 'preview': 'Preview ${object.name}',
+ 'state': 'draft',
+ 'mailing_type': 'sms',
+ 'body_plaintext': 'Hello ${object.name}',
+ 'mailing_model_id': self.env['ir.model']._get('res.partner').id,
+ })
+ mailing_test = self.env['mailing.sms.test'].with_user(self.user_marketing).create({
+ 'numbers': '+32456001122',
+ 'mailing_id': mailing.id,
+ })
+
+ with self.with_user('user_marketing'):
+ with self.mockSMSGateway():
+ mailing_test.action_send_sms()
+
+ # Test if bad jinja in the body raises an error
+ mailing.write({
+ 'body_plaintext': 'Hello ${object.name_id.id}',
+ })
+
+ with self.with_user('user_marketing'):
+ with self.mock_mail_gateway(), self.assertRaises(Exception):
+ mailing_test.action_send_sms()