diff --git a/addons/mail/tests/test_res_partner.py b/addons/mail/tests/test_res_partner.py index 5f5b48fc8ed..ba70f86961d 100644 --- a/addons/mail/tests/test_res_partner.py +++ b/addons/mail/tests/test_res_partner.py @@ -74,6 +74,7 @@ class TestPartner(MailCommon): return partner def test_address_tracking(self): + self.env.company.name = 'YourCompany' company_partner = self.env.company.partner_id # use some wacky formatting to check inlining company_partner.country_id.address_format = """%(street)s @@ -85,6 +86,9 @@ class TestPartner(MailCommon): 'city': 'Some City Name', 'street': 'Some Street Name', 'type': 'contact', + 'zip': '94134', + 'state_id': self.env.ref('base.state_us_5').id, + 'country_id': self.env.ref('base.us').id, }) child_partner = self.env['res.partner'].create({ 'name': 'Some Guy', diff --git a/addons/mail/tests/test_res_users.py b/addons/mail/tests/test_res_users.py index 3cfb5bc151c..aa343122275 100644 --- a/addons/mail/tests/test_res_users.py +++ b/addons/mail/tests/test_res_users.py @@ -89,6 +89,14 @@ class TestUserModifyOwnProfile(HttpCaseWithUserDemo): """" A user should be able to modify their own profile. Even if that user does not have access rights to write on the res.users model. """ + if 'hr.employee' in self.env and not self.user_demo.employee_id: + self.env['hr.employee'].create({ + 'name': 'Marc Demo', + 'user_id': self.user_demo.id, + }) + self.user_demo.groups_id += self.env.ref('hr.group_hr_user') + self.user_demo.tz = "Europe/Brussels" + # avoid 'reload_context' action in the middle of the tour to ease steps and form save checks with patch.object(Users, 'preference_save', lambda self: True): self.start_tour( @@ -97,4 +105,4 @@ class TestUserModifyOwnProfile(HttpCaseWithUserDemo): login="demo", step_delay=100, ) - self.assertEqual(self.env.ref('base.user_demo').email, "updatedemail@example.com") + self.assertEqual(self.user_demo.email, "updatedemail@example.com") diff --git a/addons/mail/tests/test_translation_controller.py b/addons/mail/tests/test_translation_controller.py index a32916b5289..24228554a1c 100644 --- a/addons/mail/tests/test_translation_controller.py +++ b/addons/mail/tests/test_translation_controller.py @@ -5,7 +5,8 @@ import requests from http import HTTPStatus from unittest.mock import patch -from odoo.tests.common import HttpCase, JsonRpcException, new_test_user, tagged +from odoo.addons.base.tests.common import HttpCaseWithUserDemo +from odoo.tests.common import JsonRpcException, new_test_user, tagged from odoo.tools import mute_logger SAMPLE = { @@ -37,7 +38,7 @@ def mock_response(fun): # Google Cloud Translation Documentation: https://cloud.google.com/translate/docs/reference/api-overview?hl=en @tagged("post_install", "-at_install") -class TestTranslationController(HttpCase): +class TestTranslationController(HttpCaseWithUserDemo): @classmethod def setUpClass(cls): super().setUpClass() diff --git a/addons/mail_plugin/tests/test_controller.py b/addons/mail_plugin/tests/test_controller.py index c7656d721c3..8afbb9541b4 100644 --- a/addons/mail_plugin/tests/test_controller.py +++ b/addons/mail_plugin/tests/test_controller.py @@ -130,6 +130,7 @@ class TestMailPluginController(TestMailPluginControllerCommon): def test_get_partner_no_access(self): """Test the case where the partner has been enriched by someone else, but we can't access it.""" partner = self.env["res.partner"].create({"name": "Test", "website": "https://test.example.com"}) + partner_count = self.env['res.partner'].search_count([]) self.env["res.partner.iap"].create({ "partner_id": partner.id, "iap_search_domain": "@test.example.com", @@ -141,6 +142,8 @@ class TestMailPluginController(TestMailPluginControllerCommon): lambda _, domain: {"name": "Name", "email": "test@test.example.com"}, ) self.assertEqual(result["partner"]["company"]["website"], "https://test.example.com") + new_partner_count = self.env['res.partner'].search_count([]) + self.assertEqual(new_partner_count, partner_count, "Should not have created a new partner") # now we can't access it def _check_access_rule(record, operation, *args, **kwargs): @@ -156,9 +159,8 @@ class TestMailPluginController(TestMailPluginControllerCommon): self.assertEqual(result["partner"]["company"].get("id"), partner.id) self.assertEqual(result["partner"]["company"].get("name"), "No Access") self.assertFalse(result["partner"]["company"].get("website")) - - partners = self.env["res.partner"].search([("email", "=", partner.email)]) - self.assertEqual(partners, partner, "Should not have created a new partner") + new_partner_count = self.env['res.partner'].search_count([]) + self.assertEqual(new_partner_count, partner_count, "Should not have created a new partner") def test_get_partner_no_email_returned_by_iap(self): """Test the case where IAP do not return an email address. diff --git a/addons/test_mail/tests/test_mail_message.py b/addons/test_mail/tests/test_mail_message.py index 179b069cb12..3ebabd6d3cf 100644 --- a/addons/test_mail/tests/test_mail_message.py +++ b/addons/test_mail/tests/test_mail_message.py @@ -161,6 +161,7 @@ class TestMessageValues(MailCommon): 'Reply-To: use only email when formataddr > 78 chars') # name + company_name would make it blow up: keep record_name in formatting + self.company_admin.name = "Company name being about 33 chars" test_record.write({'name': 'Name that would be more than 78 with company name'}) msg = self.env['mail.message'].create({ 'model': test_record._name, diff --git a/addons/test_mail_sms/tests/test_sms_performance.py b/addons/test_mail_sms/tests/test_sms_performance.py index 83732903b3b..6067d93e1fb 100644 --- a/addons/test_mail_sms/tests/test_sms_performance.py +++ b/addons/test_mail_sms/tests/test_sms_performance.py @@ -13,7 +13,7 @@ class TestSMSPerformance(BaseMailPerformance, sms_common.SMSCase): def setUp(self): super(TestSMSPerformance, self).setUp() - + self.env.company.country_id = self.env.ref('base.us') self.test_record = self.env['mail.test.sms'].with_context(self._test_context).create({ 'name': 'Test', 'customer_id': self.customer.id, @@ -35,7 +35,7 @@ class TestSMSPerformance(BaseMailPerformance, sms_common.SMSCase): def test_message_sms_record_1_partner(self): record = self.test_record.with_user(self.env.user) pids = self.customer.ids - with self.subTest("QueryCount"), self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=27): + with self.subTest("QueryCount"), self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=31): messages = record._message_sms( body='Performance Test', partner_ids=pids, @@ -50,7 +50,7 @@ class TestSMSPerformance(BaseMailPerformance, sms_common.SMSCase): def test_message_sms_record_10_partners(self): record = self.test_record.with_user(self.env.user) pids = self.partners.ids - with self.subTest("QueryCount"), self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=27): + with self.subTest("QueryCount"), self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=31): messages = record._message_sms( body='Performance Test', partner_ids=pids, @@ -64,7 +64,7 @@ class TestSMSPerformance(BaseMailPerformance, sms_common.SMSCase): @warmup def test_message_sms_record_default(self): record = self.test_record.with_user(self.env.user) - with self.subTest("QueryCount"), self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=29): + with self.subTest("QueryCount"), self.mockSMSGateway(sms_allow_unlink=True), self.assertQueryCount(employee=32): messages = record._message_sms( body='Performance Test', ) diff --git a/addons/website_livechat/tests/common.py b/addons/website_livechat/tests/common.py index db7aefc3ad4..faa7fc32ce4 100644 --- a/addons/website_livechat/tests/common.py +++ b/addons/website_livechat/tests/common.py @@ -9,8 +9,8 @@ from odoo.addons.base.tests.common import TransactionCaseWithUserDemo class TestLivechatCommon(TransactionCaseWithUserDemo): def setUp(self): - super(TestLivechatCommon, self).setUp() - self.env.ref("base.main_partner").email = "info@mycompany.com" + super().setUp() + self.env.company.email = "test@test.example.com" self.base_datetime = fields.Datetime.from_string("2019-11-11 21:30:00") self.group_user = self.env.ref('base.group_user') @@ -43,7 +43,7 @@ class TestLivechatCommon(TransactionCaseWithUserDemo): 'country_id': self.env.ref('base.de').id, 'website_id': self.env.ref('website.default_website').id, 'partner_id': self.partner_demo.id, - 'access_token': self.partner_demo.id, + 'access_token': self.user_demo.partner_id.id, }] + [ dict(visitor_vals, access_token='%032x' % random.randrange(16**32)) for _ in range(self.max_sessions_per_operator) diff --git a/addons/website_livechat/tests/test_ui.py b/addons/website_livechat/tests/test_ui.py index 8627ee1b686..90606f5c658 100644 --- a/addons/website_livechat/tests/test_ui.py +++ b/addons/website_livechat/tests/test_ui.py @@ -9,7 +9,7 @@ from odoo.addons.website_livechat.tests.common import TestLivechatCommon @tests.tagged('post_install', '-at_install') class TestLivechatUI(HttpCaseWithUserDemo, TestLivechatCommon): def setUp(self): - super(TestLivechatUI, self).setUp() + super().setUp() self.visitor_tour = self.env['website.visitor'].create({ 'access_token': 'f9d2e784d3d96a904fca2f5e2a559a19', 'website_id': self.env.ref('website.default_website').id,