diff options
| author | svs-odoo <svs@odoo.com> | 2020-12-28 15:45:41 +0000 |
|---|---|---|
| committer | svs-odoo <svs@odoo.com> | 2021-01-04 09:59:50 +0000 |
| commit | cf2b0a505c117a50a91fa022bc1d6bf1eb6d9f77 (patch) | |
| tree | b0b7f0fa2798fb2006c3cafc3dc1ab5261e5fc45 /odoo/addons/test_new_api/tests/test_onchange.py | |
| parent | 1b10d4e9240a1d4892143284e806ba8ab8281c9d (diff) | |
[FIX] core: avoid duplicate onchanges
When performing the onchange for the first time on a new record, if a
field has a default value, it could be two times in the `todo` field
list to compute.
closes odoo/odoo#63983
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/addons/test_new_api/tests/test_onchange.py')
| -rw-r--r-- | odoo/addons/test_new_api/tests/test_onchange.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/odoo/addons/test_new_api/tests/test_onchange.py b/odoo/addons/test_new_api/tests/test_onchange.py index a56348cf050..b5cd861edb8 100644 --- a/odoo/addons/test_new_api/tests/test_onchange.py +++ b/odoo/addons/test_new_api/tests/test_onchange.py @@ -742,6 +742,14 @@ class TestComputeOnchange(common.TransactionCase): self.assertEqual(form.bar, "foo6r") self.assertEqual(form.baz, "baz5") + def test_onchange_once(self): + """ Modifies `foo` field which will trigger an onchange method and + checks it was triggered only one time. """ + form = Form(self.env['test_new_api.compute.onchange'].with_context(default_foo="oof")) + record = form.save() + self.assertEqual(record.foo, "oof") + self.assertEqual(record.count, 1, "value onchange must be called only one time") + def test_onchange_one2many(self): record = self.env['test_new_api.model_parent_m2o'].create({ 'name': 'Family', |
