summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api/tests/test_new_fields.py
diff options
context:
space:
mode:
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.py27
1 files changed, 27 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 5a50f5b2b18..61de1807c2c 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -628,6 +628,33 @@ class TestFields(TransactionCaseWithUserDemo):
with self.assertRaises(AccessError):
foo.with_user(user).display_name = 'Forbidden'
+ def test_13_inverse_with_unlink(self):
+ """ test x2many delete command combined with an inverse field """
+ country1 = self.env['res.country'].create({'name': 'test country'})
+ country2 = self.env['res.country'].create({'name': 'other country'})
+ company = self.env['res.company'].create({
+ 'name': 'test company',
+ 'child_ids': [
+ (0, 0, {'name': 'Child Company 1'}),
+ (0, 0, {'name': 'Child Company 2'}),
+ ]
+ })
+ child_company = company.child_ids[0]
+
+ # check first that the field has an inverse and is not stored
+ field = type(company).country_id
+ self.assertFalse(field.store)
+ self.assertTrue(field.inverse)
+
+ company.write({'country_id': country1.id})
+ self.assertEqual(company.country_id, country1)
+
+ company.write({
+ 'country_id': country2.id,
+ 'child_ids': [(2, child_company.id)],
+ })
+ self.assertEqual(company.country_id, country2)
+
def test_14_search(self):
""" test search on computed fields """
discussion = self.env.ref('test_new_api.discussion_0')