diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-08-31 12:55:41 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-08-31 12:55:41 +0200 |
| commit | 4879ce040797fd4a47b6b8326c3aacd365c8ab91 (patch) | |
| tree | 45479b47c5dcfba0d0ced4f05d770b0852f31263 /odoo/addons/test_new_api/tests/test_onchange.py | |
| parent | dae6178a0a5629ce678b20fcc9226caa44a5b0ce (diff) | |
| parent | fe77df3ba480d40b3d6b25736397bd52c684ce03 (diff) | |
[MERGE] forward port branch saas-17 up to fe77df3ba48
Diffstat (limited to 'odoo/addons/test_new_api/tests/test_onchange.py')
| -rw-r--r-- | odoo/addons/test_new_api/tests/test_onchange.py | 22 |
1 files changed, 22 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 dfeafd99805..4b54d895416 100644 --- a/odoo/addons/test_new_api/tests/test_onchange.py +++ b/odoo/addons/test_new_api/tests/test_onchange.py @@ -276,6 +276,28 @@ class TestOnChange(common.TransactionCase): for user in discussion.participants + demo], ) + def test_onchange_default(self): + """ test the effect of a conditional user-default on a field """ + Foo = self.env['test_new_api.foo'] + field_onchange = Foo._onchange_spec() + self.assertTrue(Foo._fields['value1'].change_default) + self.assertEqual(field_onchange.get('value1'), '1') + + # create a user-defined default based on 'value1' + self.env['ir.values'].set_default('test_new_api.foo', 'value2', 666, condition='value1=42') + + # setting 'value1' to 42 should trigger the change of 'value2' + self.env.invalidate_all() + values = {'name': 'X', 'value1': 42, 'value2': False} + result = Foo.onchange(values, 'value1', field_onchange) + self.assertEqual(result['value'], {'value2': 666}) + + # setting 'value1' to 24 should not trigger the change of 'value2' + self.env.invalidate_all() + values = {'name': 'X', 'value1': 24, 'value2': False} + result = Foo.onchange(values, 'value1', field_onchange) + self.assertEqual(result['value'], {}) + def test_onchange_one2many_value(self): """ test the value of the one2many field inside the onchange """ discussion = self.env.ref('test_new_api.discussion_0') |
