summaryrefslogtreecommitdiff
path: root/odoo/addons/test_new_api
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/addons/test_new_api')
-rw-r--r--odoo/addons/test_new_api/tests/test_new_fields.py16
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 b3a83605d19..b10f10d3609 100644
--- a/odoo/addons/test_new_api/tests/test_new_fields.py
+++ b/odoo/addons/test_new_api/tests/test_new_fields.py
@@ -1678,6 +1678,22 @@ class TestFields(TransactionCaseWithUserDemo):
self.assertNotEqual(new_disc.participants, disc.participants)
self.assertEqual(new_disc.participants._origin, disc.participants)
+ # provide many2one field as a dict of values; the value is a new record
+ # with the given 'id' as origin (if given, of course)
+ new_msg = disc.messages.new({
+ 'discussion': {'name': disc.name},
+ })
+ self.assertTrue(new_msg.discussion)
+ self.assertFalse(new_msg.discussion.id)
+ self.assertFalse(new_msg.discussion._origin)
+
+ new_msg = disc.messages.new({
+ 'discussion': {'name': disc.name, 'id': disc.id},
+ })
+ self.assertTrue(new_msg.discussion)
+ self.assertFalse(new_msg.discussion.id)
+ self.assertEqual(new_msg.discussion._origin, disc)
+
# check convert_to_write
tag = self.env['test_new_api.multi.tag'].create({'name': 'Foo'})
rec = self.env['test_new_api.multi'].create({