Skip to content

Commit e9c8bde

Browse files
committed
[ADD] tests: test change_field_selection_values
Add a test for util.change_field_selection_values where the selection is also a default value. closes #323 Signed-off-by: Christophe Simonis (chs) <chs@odoo.com>
1 parent dda5897 commit e9c8bde

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/base/tests/test_util.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1131,6 +1131,31 @@ def test_invert_boolean_field(self):
11311131
initial_repartition[False] += initial_repartition.pop(None, 0)
11321132
self.assertEqual(back_repartition, initial_repartition)
11331133

1134+
def test_change_field_selection_with_default(self):
1135+
cr = self.env.cr
1136+
lang = self.env["res.lang"].create({"name": "Elvish", "code": "el_VISH", "active": True})
1137+
if util.table_exists(cr, "ir_default"):
1138+
self.env["ir.default"].set("res.partner", "lang", "el_VISH")
1139+
else:
1140+
self.env["ir.values"].set_default("res.partner", "lang", "el_VISH")
1141+
util.flush(lang)
1142+
partner = self.env["res.partner"].create({"name": "Gandalf"})
1143+
self.assertEqual(partner.lang, "el_VISH")
1144+
1145+
util.invalidate(partner)
1146+
util.change_field_selection_values(cr, "res.partner", "lang", {"el_VISH": "en_US"})
1147+
1148+
self.assertEqual(partner.lang, "en_US")
1149+
1150+
if util.table_exists(cr, "ir_default"):
1151+
new_default = (getattr(self.env["ir.default"], "get", None) or self.env["ir.default"]._get)(
1152+
"res.partner", "lang"
1153+
)
1154+
else:
1155+
new_default = self.env["ir.values"].get_default("res.partner", "lang")
1156+
1157+
self.assertEqual(new_default, "en_US")
1158+
11341159

11351160
class TestHelpers(UnitTestCase):
11361161
def test_model_table_conversion(self):

0 commit comments

Comments
 (0)