[REF] test_mail_full: update module to new common
PURPOSE
Currently tools and asserts for mail tests are located inside test_mail
module. It makes difficult to re-use them in apps tests or force them to
write custom quick and dirty tools and asserts.
SPECIFICATIONS
Update this module to new tools / asserts / helpers / classes defined in mail
and test_mail.
In this commit we remove the ``BaseFunctionalTest`` and replace it by a fresh
``TestSMSCommon`` that is the combination of ``TestMailCommon`` from mail and
mass mailing with SMS mocks capabilities. That way all mocks and asserts are
available in all sub test classes.
``MassSMSBaseFunctionalTest`` is not necessary anymore as everything is
available directly with ``TestSMSCommon``.
Coming from common update, we have notably
* ``BaseFunctionalTest`` class is replaced by the new ``TestMailCommon``
pimped one;
* ``assertNotifications`` is replaced by ``assertSinglePostNotifications``
(shortcut for a simple message_post) or ``assertPostNotifications``
(complete asserts involving several messages and notifications);
* correctly invoke ``mock_mail_gateway`` when mocking email sending;
* replace manual check of sent emails or ``assertEmails`` by
``assertSentEmails``;
* remove custom mocks / checks and replace them by now standard mocks
and assertions (if any);
LINKS
Task ID 2068986
PR #38070
This commit is contained in:
@@ -12,6 +12,7 @@ contains models used only to perform tests independently to functional aspects o
|
||||
real applications. """,
|
||||
'depends': [
|
||||
'test_mail',
|
||||
'test_mass_mailing',
|
||||
'mail',
|
||||
'mail_bot',
|
||||
# 'snailmail',
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from odoo.addons.phone_validation.tools import phone_validation
|
||||
from odoo.addons.mass_mailing_sms.tests import common as mass_mailing_sms_common
|
||||
from odoo.addons.test_mail.tests import common as test_mail_common
|
||||
from odoo.addons.test_mail.tests.common import mail_new_test_user
|
||||
from odoo.addons.test_mass_mailing.tests import common as test_mass_mailing_common
|
||||
|
||||
|
||||
class BaseFunctionalTest(test_mail_common.BaseFunctionalTest):
|
||||
class TestSMSCommon(test_mass_mailing_common.TestMailCommon, mass_mailing_sms_common.MockSMS):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(BaseFunctionalTest, cls).setUpClass()
|
||||
super(TestSMSCommon, cls).setUpClass()
|
||||
cls.user_employee.write({'login': 'employee'})
|
||||
|
||||
# update country to belgium in order to test sanitization of numbers
|
||||
@@ -63,14 +64,3 @@ class TestRecipients(test_mail_common.TestRecipients):
|
||||
phone_validation.phone_format(partner.mobile, partner.country_id.code, partner.country_id.phone_code, force_format='E164')
|
||||
for partner in (cls.partner_1 | cls.partner_2)
|
||||
]
|
||||
|
||||
|
||||
class MassSMSBaseFunctionalTest(BaseFunctionalTest):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(MassSMSBaseFunctionalTest, cls).setUpClass()
|
||||
cls.user_marketing = mail_new_test_user(
|
||||
cls.env, login='marketing',
|
||||
groups='base.group_user,mass_mailing.group_mass_mailing_user',
|
||||
name='Martial Marketing', signature='--\nMartial')
|
||||
|
||||
@@ -3,15 +3,12 @@
|
||||
|
||||
|
||||
from odoo.addons.phone_validation.tools import phone_validation
|
||||
from odoo.addons.mass_mailing_sms.tests import common as mass_mailing_sms_common
|
||||
from odoo.addons.test_mail.tests import common as test_mail_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
from odoo.tools import mute_logger
|
||||
from odoo.tests import tagged
|
||||
|
||||
|
||||
@tagged('mass_mailing')
|
||||
class TestMassSMS(test_mail_full_common.MassSMSBaseFunctionalTest, mass_mailing_sms_common.MockSMS):
|
||||
class TestMassSMS(test_mail_full_common.TestSMSCommon):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@@ -61,7 +58,7 @@ class TestMassSMS(test_mail_full_common.MassSMSBaseFunctionalTest, mass_mailing_
|
||||
})
|
||||
|
||||
def test_mass_sms_internals(self):
|
||||
with self.sudo('marketing'):
|
||||
with self.with_user('marketing'):
|
||||
mailing = self.env['mailing.mailing'].create({
|
||||
'name': 'Xmas Spam',
|
||||
'subject': 'Xmas Spam',
|
||||
@@ -108,7 +105,7 @@ class TestMassSMS(test_mail_full_common.MassSMSBaseFunctionalTest, mass_mailing_
|
||||
})
|
||||
records_numbers = self.records_numbers + ['+32456999999']
|
||||
|
||||
with self.sudo('marketing'):
|
||||
with self.with_user('marketing'):
|
||||
with self.mockSMSGateway():
|
||||
self.mailing.action_send_sms()
|
||||
|
||||
@@ -122,7 +119,7 @@ class TestMassSMS(test_mail_full_common.MassSMSBaseFunctionalTest, mass_mailing_
|
||||
)
|
||||
|
||||
def test_mass_sms_internals_done_ids(self):
|
||||
with self.sudo('marketing'):
|
||||
with self.with_user('marketing'):
|
||||
with self.mockSMSGateway():
|
||||
self.mailing.action_send_sms(res_ids=self.records[:5].ids)
|
||||
|
||||
@@ -134,7 +131,7 @@ class TestMassSMS(test_mail_full_common.MassSMSBaseFunctionalTest, mass_mailing_
|
||||
self.mailing, self.records[:5], check_sms=True
|
||||
)
|
||||
|
||||
with self.sudo('marketing'):
|
||||
with self.with_user('marketing'):
|
||||
with self.mockSMSGateway():
|
||||
self.mailing.action_send_sms(res_ids=self.records.ids)
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
|
||||
|
||||
class TestPhoneBlacklist(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestPhoneBlacklist(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
""" TODO """
|
||||
|
||||
@classmethod
|
||||
@@ -22,7 +21,7 @@ class TestPhoneBlacklist(test_mail_full_common.BaseFunctionalTest, sms_common.Mo
|
||||
cls.test_record = cls._reset_mail_context(cls.test_record)
|
||||
|
||||
def test_phone_blacklist_internals(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
test_record = self.env['mail.test.sms.bl'].browse(self.test_record.id)
|
||||
self.assertEqual(test_record.phone_sanitized, self.test_numbers_san[1])
|
||||
self.assertFalse(test_record.phone_blacklisted)
|
||||
@@ -52,7 +51,7 @@ class TestPhoneBlacklist(test_mail_full_common.BaseFunctionalTest, sms_common.Mo
|
||||
self.assertEqual(rec, self.env['mail.test.sms.bl'])
|
||||
|
||||
def test_phone_sanitize_api(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
test_record = self.env['mail.test.sms.bl'].browse(self.test_record.id)
|
||||
self.assertFalse(test_record.phone_blacklisted)
|
||||
|
||||
@@ -65,7 +64,7 @@ class TestPhoneBlacklist(test_mail_full_common.BaseFunctionalTest, sms_common.Mo
|
||||
self.assertFalse(test_record.phone_blacklisted)
|
||||
|
||||
def test_phone_sanitize_internals(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
test_record = self.env['mail.test.sms.bl'].browse(self.test_record.id)
|
||||
self.assertEqual(test_record.phone_nbr, self.test_numbers[1])
|
||||
self.assertEqual(test_record.phone_sanitized, self.test_numbers_san[1])
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
|
||||
|
||||
class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestSMSComposerComment(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
""" TODO LIST
|
||||
|
||||
* add test for default_res_model / default_res_id and stuff like that;
|
||||
@@ -34,7 +33,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
})
|
||||
|
||||
def test_composer_comment_not_mail_thread(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
record = self.env['test_performance.base'].create({'name': 'TestBase'})
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
active_model='test_performance.base', active_id=record.id
|
||||
@@ -49,7 +48,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
self.assertSMSSent(self.random_numbers_san, self._test_body)
|
||||
|
||||
def test_composer_comment_default(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
active_model='mail.test.sms', active_id=self.test_record.id
|
||||
).create({
|
||||
@@ -62,7 +61,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
self.assertSMSNotification([{'partner': self.test_record.customer_id, 'number': self.test_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_composer_comment_field_1(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
active_model='mail.test.sms', active_id=self.test_record.id,
|
||||
).create({
|
||||
@@ -76,7 +75,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
self.assertSMSNotification([{'partner': self.test_record.customer_id, 'number': self.test_numbers_san[0]}], self._test_body, messages)
|
||||
|
||||
def test_composer_comment_field_2(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
active_model='mail.test.sms', active_id=self.test_record.id,
|
||||
).create({
|
||||
@@ -90,7 +89,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
self.assertSMSNotification([{'partner': self.test_record.customer_id, 'number': self.test_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_composer_comment_field_w_numbers(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
active_model='mail.test.sms', active_id=self.test_record.id,
|
||||
default_number_field_name='mobile_nbr',
|
||||
@@ -107,7 +106,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
{'number': self.random_numbers_san[0]}, {'number': self.random_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_composer_comment_field_w_template(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
active_model='mail.test.sms', active_id=self.test_record.id,
|
||||
default_template_id=self.sms_template.id,
|
||||
@@ -120,7 +119,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
self.assertSMSNotification([{'partner': self.test_record.customer_id, 'number': self.test_record.mobile_nbr}], 'Dear %s this is an SMS.' % self.test_record.display_name, messages)
|
||||
|
||||
def test_composer_numbers_no_model(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='numbers'
|
||||
).create({
|
||||
@@ -133,7 +132,7 @@ class TestSMSComposerComment(test_mail_full_common.BaseFunctionalTest, sms_commo
|
||||
self.assertSMSSent(self.random_numbers_san, self._test_body)
|
||||
|
||||
|
||||
class TestSMSComposerBatch(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
class TestSMSComposerBatch(test_mail_full_common.TestSMSCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(TestSMSComposerBatch, cls).setUpClass()
|
||||
@@ -143,7 +142,7 @@ class TestSMSComposerBatch(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
cls.sms_template = cls._create_sms_template('mail.test.sms')
|
||||
|
||||
def test_composer_batch_active_domain(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='comment',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -160,7 +159,7 @@ class TestSMSComposerBatch(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
self.assertSMSNotification([{'partner': r.customer_id} for r in self.records], 'Zizisse an SMS.', messages)
|
||||
|
||||
def test_composer_batch_active_ids(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='comment',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -176,7 +175,7 @@ class TestSMSComposerBatch(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
self.assertSMSNotification([{'partner': r.customer_id} for r in self.records], 'Zizisse an SMS.', messages)
|
||||
|
||||
def test_composer_batch_domain(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='comment',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -193,7 +192,7 @@ class TestSMSComposerBatch(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
self.assertSMSNotification([{'partner': r.customer_id} for r in self.records], 'Zizisse an SMS.', messages)
|
||||
|
||||
def test_composer_batch_res_ids(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='comment',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -209,7 +208,7 @@ class TestSMSComposerBatch(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
self.assertSMSNotification([{'partner': r.customer_id} for r in self.records], 'Zizisse an SMS.', messages)
|
||||
|
||||
|
||||
class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
class TestSMSComposerMass(test_mail_full_common.TestSMSCommon):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@@ -220,7 +219,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
cls.sms_template = cls._create_sms_template('mail.test.sms')
|
||||
|
||||
def test_composer_mass_active_domain(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -238,7 +237,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
self.assertSMSOutgoing(record.customer_id, None, self._test_body)
|
||||
|
||||
def test_composer_mass_active_domain_w_template(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -256,7 +255,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
self.assertSMSOutgoing(record.customer_id, None, 'Dear %s this is an SMS.' % record.display_name)
|
||||
|
||||
def test_composer_mass_active_ids(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -278,7 +277,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
'active': True,
|
||||
} for p in self.partners[:5]])
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -303,7 +302,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
'active': True,
|
||||
} for p in self.partners[:5]])
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -329,7 +328,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
p.mobile = self.partners[8].mobile
|
||||
self.assertEqual(p.phone_sanitized, self.partners[8].phone_sanitized)
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -351,7 +350,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
self.assertSMSCanceled(partner, partner.phone_sanitized, 'sms_blacklist', content=self._test_body)
|
||||
|
||||
def test_composer_mass_active_ids_w_template(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -384,7 +383,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
# set one customer as french speaking
|
||||
self.partners[2].write({'lang': 'fr_FR'})
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -404,7 +403,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
self.assertSMSOutgoing(record.customer_id, None, 'Dear %s this is an SMS.' % record.display_name)
|
||||
|
||||
def test_composer_mass_active_ids_w_template_and_log(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='mass',
|
||||
default_res_model='mail.test.sms',
|
||||
@@ -449,7 +448,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
'customer_id': self.partners[1].id,
|
||||
})
|
||||
# Composer creation with context from a template context action (simulate) - comment (single recipient)
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='guess',
|
||||
default_res_ids=[test_record_2.id],
|
||||
@@ -473,7 +472,7 @@ class TestSMSComposerMass(test_mail_full_common.BaseFunctionalTest, sms_common.M
|
||||
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.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
composer = self.env['sms.composer'].with_context(
|
||||
default_composition_mode='guess',
|
||||
default_res_ids=[test_record_1.id, test_record_2.id],
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
|
||||
|
||||
class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestSMSWizards(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@@ -34,9 +33,9 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
})
|
||||
|
||||
def test_sms_resend(self):
|
||||
self._clear_bus()
|
||||
self._reset_bus()
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
wizard = self.env['sms.resend'].with_context(default_mail_message_id=self.msg.id).create({})
|
||||
wizard.write({'recipient_ids': [(1, r.id, {'resend': True}) for r in wizard.recipient_ids]})
|
||||
with self.mockSMSGateway():
|
||||
@@ -46,7 +45,7 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
{'partner': self.partner_1, 'state': 'sent'},
|
||||
{'partner': self.partner_2, 'state': 'sent'}
|
||||
], 'TEST BODY', self.msg, check_sms=True)
|
||||
self.assertBusNotification(
|
||||
self.assertBusNotifications(
|
||||
[(self.cr.dbname, 'res.partner', self.partner_employee.id)],
|
||||
[{'type': 'sms_update', 'elements': [{
|
||||
'message_id': self.msg.id,
|
||||
@@ -56,9 +55,9 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
)
|
||||
|
||||
def test_sms_resend_update_number(self):
|
||||
self._clear_bus()
|
||||
self._reset_bus()
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
wizard = self.env['sms.resend'].with_context(default_mail_message_id=self.msg.id).create({})
|
||||
wizard.write({'recipient_ids': [(1, r.id, {'resend': True, 'sms_number': self.random_numbers[idx]}) for idx, r in enumerate(wizard.recipient_ids.sorted())]})
|
||||
with self.mockSMSGateway():
|
||||
@@ -68,7 +67,7 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
{'partner': self.partner_1, 'state': 'sent', 'number': self.random_numbers_san[0]},
|
||||
{'partner': self.partner_2, 'state': 'sent', 'number': self.random_numbers_san[1]}
|
||||
], 'TEST BODY', self.msg, check_sms=True)
|
||||
self.assertBusNotification(
|
||||
self.assertBusNotifications(
|
||||
[(self.cr.dbname, 'res.partner', self.partner_employee.id)],
|
||||
[{'type': 'sms_update', 'elements': [{
|
||||
'message_id': self.msg.id,
|
||||
@@ -78,9 +77,9 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
)
|
||||
|
||||
def test_sms_resend_cancel(self):
|
||||
self._clear_bus()
|
||||
self._reset_bus()
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
wizard = self.env['sms.resend'].with_context(default_mail_message_id=self.msg.id).create({})
|
||||
with self.mockSMSGateway():
|
||||
wizard.action_cancel()
|
||||
@@ -89,7 +88,7 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
{'partner': self.partner_1, 'state': 'canceled', 'number': self.notif_p1.sms_number, 'failure_type': 'sms_number_format'},
|
||||
{'partner': self.partner_2, 'state': 'canceled', 'number': self.notif_p2.sms_number, 'failure_type': 'sms_credit'}
|
||||
], 'TEST BODY', self.msg, check_sms=False)
|
||||
self.assertBusNotification(
|
||||
self.assertBusNotifications(
|
||||
[(self.cr.dbname, 'res.partner', self.partner_employee.id)],
|
||||
[{'type': 'sms_update', 'elements': [{
|
||||
'message_id': self.msg.id,
|
||||
@@ -99,13 +98,13 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
)
|
||||
|
||||
def test_sms_resend_internals(self):
|
||||
self._clear_bus()
|
||||
self._reset_bus()
|
||||
self.assertSMSNotification([
|
||||
{'partner': self.partner_1, 'state': 'exception', 'number': self.notif_p1.sms_number, 'failure_type': 'sms_number_format'},
|
||||
{'partner': self.partner_2, 'state': 'exception', 'number': self.notif_p2.sms_number, 'failure_type': 'sms_credit'}
|
||||
], 'TEST BODY', self.msg, check_sms=False)
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
wizard = self.env['sms.resend'].with_context(default_mail_message_id=self.msg.id).create({})
|
||||
self.assertTrue(wizard.has_insufficient_credit)
|
||||
self.assertEqual(set(wizard.mapped('recipient_ids.partner_name')), set((self.partner_1 | self.partner_2).mapped('display_name')))
|
||||
@@ -114,9 +113,9 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
wizard.action_resend()
|
||||
|
||||
def test_sms_resend_w_cancel(self):
|
||||
self._clear_bus()
|
||||
self._reset_bus()
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
wizard = self.env['sms.resend'].with_context(default_mail_message_id=self.msg.id).create({})
|
||||
wizard.write({'recipient_ids': [(1, r.id, {'resend': True if r.partner_id == self.partner_1 else False}) for r in wizard.recipient_ids]})
|
||||
with self.mockSMSGateway():
|
||||
@@ -124,7 +123,7 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
|
||||
self.assertSMSNotification([{'partner': self.partner_1, 'state': 'sent'}], 'TEST BODY', self.msg, check_sms=True)
|
||||
self.assertSMSNotification([{'partner': self.partner_2, 'state': 'canceled', 'number': self.notif_p2.sms_number, 'failure_type': 'sms_credit'}], 'TEST BODY', self.msg, check_sms=False)
|
||||
self.assertBusNotification(
|
||||
self.assertBusNotifications(
|
||||
[(self.cr.dbname, 'res.partner', self.partner_employee.id)],
|
||||
[{'type': 'sms_update', 'elements': [{
|
||||
'message_id': self.msg.id,
|
||||
@@ -134,15 +133,15 @@ class TestSMSWizards(test_mail_full_common.BaseFunctionalTest, sms_common.MockSM
|
||||
)
|
||||
|
||||
def test_sms_cancel(self):
|
||||
self._clear_bus()
|
||||
self._reset_bus()
|
||||
|
||||
with self.mockSMSGateway(), self.sudo('employee'):
|
||||
with self.mockSMSGateway(), self.with_user('employee'):
|
||||
wizard = self.env['sms.cancel'].with_context(default_model=self.msg.model).create({})
|
||||
wizard.action_cancel()
|
||||
|
||||
self.assertEqual((self.notif_p1 | self.notif_p2).mapped('notification_status'), ['canceled', 'canceled'])
|
||||
|
||||
self.assertBusNotification(
|
||||
self.assertBusNotifications(
|
||||
[(self.cr.dbname, 'res.partner', self.partner_employee.id)],
|
||||
[{'type': 'sms_update', 'elements': [{
|
||||
'message_id': self.msg.id,
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
|
||||
|
||||
class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestSMSPost(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
""" TODO
|
||||
|
||||
* add tests for new mail.message and mail.thread fields;
|
||||
@@ -25,7 +24,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
cls.test_record = cls._reset_mail_context(cls.test_record)
|
||||
|
||||
def test_message_sms_internals_body(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms('<p>Mega SMS<br/>Top moumoutte</p>', partner_ids=self.partner_1.ids)
|
||||
|
||||
@@ -34,26 +33,26 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.assertSMSNotification([{'partner': self.partner_1}], 'Mega SMS\nTop moumoutte', messages)
|
||||
|
||||
def test_message_sms_internals_check_existing(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway(sim_error='wrong_number_format'):
|
||||
with self.with_user('employee'), self.mockSMSGateway(sim_error='wrong_number_format'):
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=self.partner_1.ids)
|
||||
|
||||
self.assertSMSNotification([{'partner': self.partner_1, 'state': 'exception', 'failure_type': 'sms_number_format'}], self._test_body, messages)
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
test_record._notify_record_by_sms(messages, {'partners': [{'id': self.partner_1.id, 'notif': 'sms'}]}, check_existing=True)
|
||||
self.assertSMSNotification([{'partner': self.partner_1}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_internals_sms_numbers(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=self.partner_1.ids, sms_numbers=self.random_numbers)
|
||||
|
||||
self.assertSMSNotification([{'partner': self.partner_1}, {'number': self.random_numbers_san[0]}, {'number': self.random_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_internals_subtype(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms('<p>Mega SMS<br/>Top moumoutte</p>', subtype_id=self.env.ref('mail.mt_comment').id, partner_ids=self.partner_1.ids)
|
||||
|
||||
@@ -66,7 +65,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.partner_1.id: self.random_numbers[0],
|
||||
self.partner_2.id: self.random_numbers[1],
|
||||
}
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2).ids, sms_pid_to_number=pid_to_number)
|
||||
|
||||
@@ -76,7 +75,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self._test_body, messages)
|
||||
|
||||
def test_message_sms_model_partner(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
messages = self.partner_1._message_sms(self._test_body)
|
||||
messages |= self.partner_2._message_sms(self._test_body)
|
||||
self.assertSMSNotification([{'partner': self.partner_1}, {'partner': self.partner_2}], self._test_body, messages)
|
||||
@@ -91,7 +90,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.assertSMSNotification([{'partner': self.partner_1, 'number': self.random_numbers_san[0]}, {'partner': self.partner_2}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_model_w_partner_only(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
record = self.env['mail.test.sms.partner'].create({'partner_id': self.partner_1.id})
|
||||
|
||||
with self.mockSMSGateway():
|
||||
@@ -100,7 +99,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.assertSMSNotification([{'partner': self.partner_1}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_model_w_partner_only_void(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
record = self.env['mail.test.sms.partner'].create({'partner_id': False})
|
||||
|
||||
with self.mockSMSGateway():
|
||||
@@ -111,7 +110,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.assertFalse(notifs)
|
||||
|
||||
def test_message_sms_on_field_w_partner(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, number_field='mobile_nbr')
|
||||
|
||||
@@ -120,7 +119,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
def test_message_sms_on_field_wo_partner(self):
|
||||
self.test_record.write({'customer_id': False})
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, number_field='mobile_nbr')
|
||||
|
||||
@@ -129,7 +128,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
def test_message_sms_on_field_wo_partner_default_field(self):
|
||||
self.test_record.write({'customer_id': False})
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body)
|
||||
|
||||
@@ -138,40 +137,40 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
def test_message_sms_on_field_wo_partner_default_field_2(self):
|
||||
self.test_record.write({'customer_id': False, 'phone_nbr': False})
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body)
|
||||
|
||||
self.assertSMSNotification([{'number': self.test_numbers_san[0]}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_on_numbers(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, sms_numbers=self.random_numbers_san)
|
||||
self.assertSMSNotification([{'number': self.random_numbers_san[0]}, {'number': self.random_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_on_numbers_sanitization(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, sms_numbers=self.random_numbers)
|
||||
self.assertSMSNotification([{'number': self.random_numbers_san[0]}, {'number': self.random_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_on_partner_ids(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2).ids)
|
||||
|
||||
self.assertSMSNotification([{'partner': self.partner_1}, {'partner': self.partner_2}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_on_partner_ids_default(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body)
|
||||
|
||||
self.assertSMSNotification([{'partner': self.test_record.customer_id, 'number': self.test_numbers_san[1]}], self._test_body, messages)
|
||||
|
||||
def test_message_sms_on_partner_ids_w_numbers(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=self.partner_1.ids, sms_numbers=self.random_numbers[:1])
|
||||
|
||||
@@ -184,7 +183,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
'body': 'Dear ${object.display_name} this is an SMS.',
|
||||
})
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms_with_template(template=sms_template)
|
||||
@@ -192,7 +191,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.assertSMSNotification([{'partner': self.partner_1, 'number': self.test_numbers_san[1]}], 'Dear %s this is an SMS.' % self.test_record.display_name, messages)
|
||||
|
||||
def test_message_sms_with_template_fallback(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms_with_template(template_xmlid='test_mail_full.this_should_not_exists', template_fallback='Fallback for ${object.id}')
|
||||
@@ -212,7 +211,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
'res_id': sms_template.id,
|
||||
})
|
||||
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms_with_template(template_xmlid='test_mail_full.this_should_exists')
|
||||
@@ -220,7 +219,7 @@ class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS,
|
||||
self.assertSMSNotification([{'partner': self.partner_1, 'number': self.test_numbers_san[1]}], 'Dear %s this is an SMS.' % self.test_record.display_name, messages)
|
||||
|
||||
|
||||
class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestSMSPostException(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@@ -246,7 +245,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
|
||||
def test_message_sms_w_numbers_invalid(self):
|
||||
random_numbers = self.random_numbers + ['6988754']
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, sms_numbers=random_numbers)
|
||||
|
||||
@@ -259,7 +258,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
'phone': self.random_numbers[1],
|
||||
'country_id': False,
|
||||
})
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=self.test_record.customer_id.ids)
|
||||
|
||||
@@ -271,7 +270,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
'mobile': 'youpie',
|
||||
'phone': 'youpla',
|
||||
})
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=self.test_record.customer_id.ids)
|
||||
|
||||
@@ -282,12 +281,12 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
# TDE FIXME: not sure
|
||||
# random_numbers = self.random_numbers + [self.random_numbers[1]]
|
||||
# random_numbers_san = self.random_numbers_san + [self.random_numbers_san[1]]
|
||||
# with self.sudo('employee'), self.mockSMSGateway():
|
||||
# with self.with_user('employee'), self.mockSMSGateway():
|
||||
# messages = self.test_record._message_sms(self._test_body, sms_numbers=random_numbers)
|
||||
# self.assertSMSNotification({}, {random_numbers_san[0]: {}, random_numbers_san[1]: {}, random_numbers_san[2]: {}}, self._test_body, messages)
|
||||
|
||||
def test_message_sms_crash_credit(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway(sim_error='credit'):
|
||||
with self.with_user('employee'), self.mockSMSGateway(sim_error='credit'):
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2).ids)
|
||||
|
||||
@@ -297,7 +296,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
], self._test_body, messages)
|
||||
|
||||
def test_message_sms_crash_credit_single(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway(nbr_t_error={self.partner_2.phone_get_sanitized_number(): 'credit'}):
|
||||
with self.with_user('employee'), self.mockSMSGateway(nbr_t_error={self.partner_2.phone_get_sanitized_number(): 'credit'}):
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2 | self.partner_3).ids)
|
||||
|
||||
@@ -308,7 +307,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
], self._test_body, messages)
|
||||
|
||||
def test_message_sms_crash_server_crash(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway(sim_error='jsonrpc_exception'):
|
||||
with self.with_user('employee'), self.mockSMSGateway(sim_error='jsonrpc_exception'):
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2 | self.partner_3).ids)
|
||||
|
||||
@@ -319,7 +318,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
], self._test_body, messages)
|
||||
|
||||
def test_message_sms_crash_wrong_number(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway(sim_error='wrong_number_format'):
|
||||
with self.with_user('employee'), self.mockSMSGateway(sim_error='wrong_number_format'):
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2).ids)
|
||||
|
||||
@@ -329,7 +328,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
], self._test_body, messages)
|
||||
|
||||
def test_message_sms_crash_wrong_number_single(self):
|
||||
with self.sudo('employee'), self.mockSMSGateway(nbr_t_error={self.partner_2.phone_get_sanitized_number(): 'wrong_number_format'}):
|
||||
with self.with_user('employee'), self.mockSMSGateway(nbr_t_error={self.partner_2.phone_get_sanitized_number(): 'wrong_number_format'}):
|
||||
test_record = self.env['mail.test.sms'].browse(self.test_record.id)
|
||||
messages = test_record._message_sms(self._test_body, partner_ids=(self.partner_1 | self.partner_2 | self.partner_3).ids)
|
||||
|
||||
@@ -340,7 +339,7 @@ class TestSMSPostException(test_mail_full_common.BaseFunctionalTest, sms_common.
|
||||
], self._test_body, messages)
|
||||
|
||||
|
||||
class TestSMSApi(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
class TestSMSApi(test_mail_full_common.TestSMSCommon):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@@ -351,7 +350,7 @@ class TestSMSApi(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
cls.sms_template = cls._create_sms_template('mail.test.sms')
|
||||
|
||||
def test_message_schedule_sms(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
self.env['mail.test.sms'].browse(self.records.ids)._message_sms_schedule_mass(body=self._test_body, mass_keep_log=False)
|
||||
|
||||
@@ -359,7 +358,7 @@ class TestSMSApi(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
self.assertSMSOutgoing(record.customer_id, None, self._test_body)
|
||||
|
||||
def test_message_schedule_sms_w_log(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
self.env['mail.test.sms'].browse(self.records.ids)._message_sms_schedule_mass(body=self._test_body, mass_keep_log=True)
|
||||
|
||||
@@ -368,7 +367,7 @@ class TestSMSApi(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
self.assertSMSLogged(record, self._test_body)
|
||||
|
||||
def test_message_schedule_sms_w_template(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
self.env['mail.test.sms'].browse(self.records.ids)._message_sms_schedule_mass(template=self.sms_template, mass_keep_log=False)
|
||||
|
||||
@@ -376,7 +375,7 @@ class TestSMSApi(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS):
|
||||
self.assertSMSOutgoing(record.customer_id, None, 'Dear %s this is an SMS.' % record.display_name)
|
||||
|
||||
def test_message_schedule_sms_w_template_and_log(self):
|
||||
with self.sudo('employee'):
|
||||
with self.with_user('employee'):
|
||||
with self.mockSMSGateway():
|
||||
self.env['mail.test.sms'].browse(self.records.ids)._message_sms_schedule_mass(template=self.sms_template, mass_keep_log=True)
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
|
||||
|
||||
class TestServerAction(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestServerAction(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
@@ -34,7 +33,7 @@ class TestServerAction(test_mail_full_common.BaseFunctionalTest, sms_common.Mock
|
||||
'active_ids': (self.test_record | self.test_record_2).ids,
|
||||
}
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
self.action.with_user(self.env.user).with_context(**context).run()
|
||||
|
||||
self.assertSMSOutgoing(self.test_record.customer_id, None, 'Dear %s this is an SMS.' % self.test_record.display_name)
|
||||
@@ -46,7 +45,7 @@ class TestServerAction(test_mail_full_common.BaseFunctionalTest, sms_common.Mock
|
||||
'active_id': self.test_record.id,
|
||||
}
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
self.action.with_user(self.env.user).with_context(**context).run()
|
||||
self.assertSMSOutgoing(self.test_record.customer_id, None, 'Dear %s this is an SMS.' % self.test_record.display_name)
|
||||
|
||||
@@ -57,7 +56,7 @@ class TestServerAction(test_mail_full_common.BaseFunctionalTest, sms_common.Mock
|
||||
'active_ids': (self.test_record | self.test_record_2).ids,
|
||||
}
|
||||
|
||||
with self.sudo('employee'), self.mockSMSGateway():
|
||||
with self.with_user('employee'), self.mockSMSGateway():
|
||||
self.action.with_user(self.env.user).with_context(**context).run()
|
||||
|
||||
self.assertSMSOutgoing(self.test_record.customer_id, None, 'Dear %s this is an SMS.' % self.test_record.display_name)
|
||||
|
||||
@@ -8,7 +8,6 @@ from unittest.mock import DEFAULT
|
||||
|
||||
from odoo import exceptions
|
||||
from odoo.addons.sms.models.sms_sms import SmsSms as SmsSms
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
from odoo.tests import common
|
||||
|
||||
@@ -48,7 +47,7 @@ class LinkTrackerMock(common.BaseCase):
|
||||
self.assertEqual(redirect_params, url_params)
|
||||
|
||||
|
||||
class TestSMSPost(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, LinkTrackerMock):
|
||||
class TestSMSPost(test_mail_full_common.TestSMSCommon, LinkTrackerMock):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||||
|
||||
from odoo.addons.sms.tests import common as sms_common
|
||||
from odoo.addons.test_mail_full.tests import common as test_mail_full_common
|
||||
|
||||
|
||||
class TestSmsTemplate(test_mail_full_common.BaseFunctionalTest, sms_common.MockSMS, test_mail_full_common.TestRecipients):
|
||||
class TestSmsTemplate(test_mail_full_common.TestSMSCommon, test_mail_full_common.TestRecipients):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
|
||||
Reference in New Issue
Block a user