diff --git a/addons/test_mail_sms/tests/test_sms_composer.py b/addons/test_mail_sms/tests/test_sms_composer.py index 831fc8d79af..220b84bf4f0 100644 --- a/addons/test_mail_sms/tests/test_sms_composer.py +++ b/addons/test_mail_sms/tests/test_sms_composer.py @@ -210,7 +210,7 @@ class TestSMSComposerBatch(TestSMSCommon): @classmethod def setUpClass(cls): super(TestSMSComposerBatch, cls).setUpClass() - cls._test_body = 'Zizisse an SMS.' + cls._test_body = 'Hello {{ object.name }} zizisse an SMS.' cls._create_records_for_batch('mail.test.sms', 3) cls.sms_template = cls._create_sms_template('mail.test.sms') @@ -229,7 +229,11 @@ class TestSMSComposerBatch(TestSMSCommon): messages = composer._action_send_sms() for record in self.records: - self.assertSMSNotification([{'partner': r.customer_id} for r in self.records], 'Zizisse an SMS.', messages) + self.assertSMSNotification( + [{'partner': record.customer_id}], + 'Hello ${object.name} zizisse an SMS.', + messages + ) def test_composer_batch_res_ids(self): with self.with_user('employee'): @@ -245,7 +249,11 @@ class TestSMSComposerBatch(TestSMSCommon): messages = composer._action_send_sms() for record in self.records: - self.assertSMSNotification([{'partner': r.customer_id} for r in self.records], 'Zizisse an SMS.', messages) + self.assertSMSNotification( + [{'partner': record.customer_id}], + 'Hello ${object.name} zizisse an SMS.', + messages + ) class TestSMSComposerMass(TestSMSCommon): @@ -253,9 +261,9 @@ class TestSMSComposerMass(TestSMSCommon): @classmethod def setUpClass(cls): super(TestSMSComposerMass, cls).setUpClass() - cls._test_body = 'Zizisse an SMS.' + cls._test_body = 'Hello {{ object.name }} zizisse an SMS.' - cls._create_records_for_batch('mail.test.sms', 3) + cls._create_records_for_batch('mail.test.sms', 10) cls.sms_template = cls._create_sms_template('mail.test.sms') def test_composer_mass_active_ids(self): @@ -272,8 +280,11 @@ class TestSMSComposerMass(TestSMSCommon): with self.mockSMSGateway(): composer.action_send_sms() - for partner in self.partners: - self.assertSMSOutgoing(partner, None, content=self._test_body) + for partner, record in zip(self.partners, self.records): + self.assertSMSOutgoing( + partner, None, + content='Hello %s zizisse an SMS.' % record.name + ) def test_composer_mass_active_ids_w_blacklist(self): self.env['phone.blacklist'].create([{ @@ -295,10 +306,17 @@ class TestSMSComposerMass(TestSMSCommon): with self.mockSMSGateway(): composer.action_send_sms() - for partner in self.partners[5:]: - self.assertSMSOutgoing(partner, partner.phone_sanitized, content=self._test_body) - for partner in self.partners[:5]: - self.assertSMSCanceled(partner, partner.phone_sanitized, failure_type='sms_blacklist', content=self._test_body) + for partner, record in zip(self.partners[5:], self.records[5:]): + self.assertSMSOutgoing( + partner, partner.phone_sanitized, + content='Hello %s zizisse an SMS.' % record.name + ) + for partner, record in zip(self.partners[:5], self.records[:5]): + self.assertSMSCanceled( + partner, partner.phone_sanitized, + failure_type='sms_blacklist', + content='Hello %s zizisse an SMS.' % record.name + ) def test_composer_mass_active_ids_wo_blacklist(self): self.env['phone.blacklist'].create([{ @@ -320,17 +338,22 @@ class TestSMSComposerMass(TestSMSCommon): with self.mockSMSGateway(): composer.action_send_sms() - for partner in self.partners: - self.assertSMSOutgoing(partner, partner.phone_sanitized, content=self._test_body) + for partner, record in zip(self.partners, self.records): + self.assertSMSOutgoing( + partner, partner.phone_sanitized, + content='Hello %s zizisse an SMS.' % record.name + ) def test_composer_mass_active_ids_w_blacklist_and_done(self): + """ Create some duplicates + blacklist. record[5] will have duplicated + number on 6 and 7. """ self.env['phone.blacklist'].create([{ 'number': p.phone_sanitized, 'active': True, } for p in self.partners[:5]]) - for p in self.partners[8:]: - p.mobile = self.partners[8].mobile - self.assertEqual(p.phone_sanitized, self.partners[8].phone_sanitized) + for p in self.partners[5:8]: + p.mobile = self.partners[5].mobile + self.assertEqual(p.phone_sanitized, self.partners[5].phone_sanitized) with self.with_user('employee'): composer = self.env['sms.composer'].with_context( @@ -346,12 +369,29 @@ class TestSMSComposerMass(TestSMSCommon): with self.mockSMSGateway(): composer.action_send_sms() - for partner in self.partners[8:]: - self.assertSMSOutgoing(partner, partner.phone_sanitized, content=self._test_body) - for partner in self.partners[5:8]: - self.assertSMSCanceled(partner, partner.phone_sanitized, failure_type='sms_duplicate', content=self._test_body) - for partner in self.partners[:5]: - self.assertSMSCanceled(partner, partner.phone_sanitized, failure_type='sms_blacklist', content=self._test_body) + self.assertSMSOutgoing( + self.partners[5], self.partners[5].phone_sanitized, + content='Hello %s zizisse an SMS.' % self.records[5].name + ) + for partner, record in zip(self.partners[8:], self.records[8:]): + self.assertSMSOutgoing( + partner, partner.phone_sanitized, + content='Hello %s zizisse an SMS.' % record.name + ) + # duplicates + for partner, record in zip(self.partners[6:8], self.records[6:8]): + self.assertSMSCanceled( + partner, partner.phone_sanitized, + failure_type='sms_duplicate', + content='Hello %s zizisse an SMS.' % record.name + ) + # blacklist + for partner, record in zip(self.partners[:5], self.records[:5]): + self.assertSMSCanceled( + partner, partner.phone_sanitized, + failure_type='sms_blacklist', + content='Hello %s zizisse an SMS.' % record.name + ) def test_composer_mass_active_ids_w_template(self): with self.with_user('employee'): @@ -368,7 +408,10 @@ class TestSMSComposerMass(TestSMSCommon): composer.action_send_sms() for record in self.records: - self.assertSMSOutgoing(record.customer_id, None, content='Dear %s this is an SMS.' % record.display_name) + self.assertSMSOutgoing( + record.customer_id, None, + content='Dear %s this is an SMS.' % record.display_name + ) def test_composer_mass_active_ids_w_template_and_lang(self): self.env['res.lang']._activate_lang('fr_FR') @@ -402,9 +445,15 @@ class TestSMSComposerMass(TestSMSCommon): for record in self.records: if record.customer_id == self.partners[2]: - self.assertSMSOutgoing(record.customer_id, None, content='Cher·e· %s ceci est un SMS.' % record.display_name) + self.assertSMSOutgoing( + record.customer_id, None, + content='Cher·e· %s ceci est un SMS.' % record.display_name + ) else: - self.assertSMSOutgoing(record.customer_id, None, content='Dear %s this is an SMS.' % record.display_name) + self.assertSMSOutgoing( + record.customer_id, None, + content='Dear %s this is an SMS.' % record.display_name + ) def test_composer_mass_active_ids_w_template_and_log(self): with self.with_user('employee'): @@ -421,7 +470,10 @@ class TestSMSComposerMass(TestSMSCommon): composer.action_send_sms() for record in self.records: - self.assertSMSOutgoing(record.customer_id, None, content='Dear %s this is an SMS.' % record.display_name) + self.assertSMSOutgoing( + record.customer_id, None, + content='Dear %s this is an SMS.' % record.display_name + ) self.assertSMSLogged(record, 'Dear %s this is an SMS.' % record.display_name) def test_composer_template_context_action(self): @@ -471,7 +523,10 @@ class TestSMSComposerMass(TestSMSCommon): messages = composer._action_send_sms() number = self.partners[2].phone_get_sanitized_number() - self.assertSMSNotification([{'partner': test_record_2.customer_id, 'number': number}], "Hello %s ceci est en français." % test_record_2.display_name, messages) + self.assertSMSNotification( + [{'partner': test_record_2.customer_id, 'number': number}], + "Hello %s ceci est en français." % test_record_2.display_name, messages + ) # Composer creation with context from a template context action (simulate) - mass (multiple recipient) with self.with_user('employee'): @@ -493,5 +548,11 @@ class TestSMSComposerMass(TestSMSCommon): with self.mockSMSGateway(): composer.action_send_sms() - self.assertSMSOutgoing(test_record_1.customer_id, None, content='Dear %s this is an SMS.' % test_record_1.display_name) - self.assertSMSOutgoing(test_record_2.customer_id, None, content="Hello %s ceci est en français." % test_record_2.display_name) + self.assertSMSOutgoing( + test_record_1.customer_id, None, + content='Dear %s this is an SMS.' % test_record_1.display_name + ) + self.assertSMSOutgoing( + test_record_2.customer_id, None, + content="Hello %s ceci est en français." % test_record_2.display_name + )