[14.0] [FIX] Fix base comment template rendering.

This commit is contained in:
Mihai Fekete
2022-01-10 16:49:29 +02:00
parent 93a005f241
commit 9931623c40
11 changed files with 270 additions and 12 deletions

View File

@@ -2,6 +2,7 @@
# Copyright 2021 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo.tests import common
from odoo.tools.misc import mute_logger
from .fake_models import ResUsers, setup_test_model, teardown_test_model
@@ -16,6 +17,7 @@ class TestCommentTemplate(common.SavepointCase):
cls.user2 = cls.env.ref("base.demo_user0")
cls.partner_id = cls.env.ref("base.res_partner_12")
cls.partner2_id = cls.env.ref("base.res_partner_10")
cls.ResPartnerTitle = cls.env["res.partner.title"]
cls.main_company = cls.env.ref("base.main_company")
cls.company = cls.env["res.company"].create({"name": "Test company"})
cls.before_template_id = cls.env["base.comment.template"].create(
@@ -87,3 +89,61 @@ class TestCommentTemplate(common.SavepointCase):
self.assertTrue(
self.before_template_id not in self.partner_id.base_comment_template_ids
)
def test_render_comment_text(self):
expected_text = "Test comment render %s" % self.user.name
self.before_template_id.text = "Test comment render ${object.name}"
with self.with_user(self.user.login):
self.assertEqual(
self.user.render_comment(self.before_template_id), expected_text
)
def test_render_comment_text_(self):
with mute_logger("odoo.addons.base.models.ir_translation"):
self.env["base.language.install"].create(
{"lang": "ro_RO", "overwrite": True}
).lang_install()
with mute_logger("odoo.tools.translate"):
self.env["base.update.translations"].create({"lang": "ro_RO"}).act_update()
partner_title = self.ResPartnerTitle.create(
{"name": "Ambassador", "shortcut": "Amb."}
)
# Adding translated terms
ctx = dict(lang="ro_RO")
partner_title.with_context(ctx).write({"name": "Ambasador", "shortcut": "Amb."})
self.user.partner_id.title = partner_title
self.before_template_id.text = "Test comment render ${object.title.name}"
expected_en_text = "Test comment render Ambassador"
expected_ro_text = "Test comment render Ambasador"
with self.with_user(self.user.login):
self.assertEqual(
self.user.render_comment(self.before_template_id), expected_en_text
)
self.assertEqual(
self.user.with_context(ctx).render_comment(self.before_template_id),
expected_ro_text,
)
def test_partner_template_wizaard(self):
partner_preview = (
self.env["base.comment.template.preview"]
.with_context(default_base_comment_template_id=self.before_template_id.id)
.create({})
)
self.assertTrue(partner_preview)
default = (
self.env["base.comment.template.preview"]
.with_context(default_base_comment_template_id=self.before_template_id.id)
.default_get(partner_preview._fields)
)
self.assertTrue(default.get("base_comment_template_id"))
resource_ref = partner_preview._selection_target_model()
self.assertTrue(len(resource_ref) >= 2)
partner_preview._compute_no_record()
self.assertTrue(partner_preview.no_record)
def test_partner_commercial_fields(self):
self.assertTrue(
"base_comment_template_ids" in self.env["res.partner"]._commercial_fields()
)