diff options
Diffstat (limited to 'odoo/addons/test_new_api/tests/test_new_fields.py')
| -rw-r--r-- | odoo/addons/test_new_api/tests/test_new_fields.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/odoo/addons/test_new_api/tests/test_new_fields.py b/odoo/addons/test_new_api/tests/test_new_fields.py index bf620ebe2ce..80ac2de233c 100644 --- a/odoo/addons/test_new_api/tests/test_new_fields.py +++ b/odoo/addons/test_new_api/tests/test_new_fields.py @@ -1514,6 +1514,22 @@ class TestFields(TransactionCaseWithUserDemo): self.assertEqual(discussion.messages, messages + message) self.assertEqual(demo_discussion.messages, discussion.messages) + def test_71_relational_inverse(self): + """ Check the consistency of relational fields with inverse(s). """ + move1 = self.env['test_new_api.move'].create({}) + move2 = self.env['test_new_api.move'].create({}) + line = self.env['test_new_api.move_line'].create({'move_id': move1.id}) + line.flush() + + self.env.cache.invalidate() + line.with_context(prefetch_fields=False).move_id + + # Setting 'move_id' updates the one2many field that is based on it, + # which has a domain. Here we check that evaluating the domain does not + # accidentally override 'move_id' (by prefetch). + line.move_id = move2 + self.assertEqual(line.move_id, move2) + def test_80_copy(self): Translations = self.env['ir.translation'] discussion = self.env.ref('test_new_api.discussion_0') |
