3
0
Fork 0
web_techsystech/web_field_tooltip/tests/test_web_field_tooltip.py

49 lines
1.7 KiB
Python

# Copyright 2023 ACSONE SA/NV
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo.exceptions import UserError
from odoo.tests.common import Form, TransactionCase
class TestWebFieldTooltip(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.Tooltip = cls.env["ir.model.fields.tooltip"]
cls.partner_model_name = "res.partner"
cls.partner_model = cls.env["ir.model"].search(
[("model", "=", cls.partner_model_name)]
)
cls.email_partner_field = cls.env["ir.model.fields"].search(
[("model", "=", cls.partner_model_name), ("name", "=", "email")]
)
cls.email_tooltip = cls.Tooltip.create(
{
"model_id": cls.partner_model.id,
"field_id": cls.email_partner_field.id,
"tooltip_text": "this explains a lot",
}
)
def test_duplicate_constrains(self):
with self.assertRaises(UserError) as e:
self.email_tooltip = self.Tooltip.create(
{
"model_id": self.partner_model.id,
"field_id": self.email_partner_field.id,
"tooltip_text": "this explains a lot",
}
)
self.assertIn(e.exception.args[0], "A tooltip already exists for this field")
def test_tooltip_name(self):
self.assertEqual(
self.email_tooltip.name, "Tooltip for {} on {}".format("email", "Contact")
)
def test_tooltip_model_id(self):
res_partner_form = Form(
self.Tooltip.with_context(default_model=self.partner_model_name)
)
self.assertEqual(res_partner_form.model_id, self.partner_model)