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 | 34 |
1 files changed, 34 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 79dab154941..8284f4652c6 100644 --- a/odoo/addons/test_new_api/tests/test_new_fields.py +++ b/odoo/addons/test_new_api/tests/test_new_fields.py @@ -964,6 +964,40 @@ class TestFields(common.TransactionCase): self.assertEqual(len(discussion.important_messages), 2) self.assertEqual(len(discussion.very_important_messages), 2) + def test_80_copy(self): + Translations = self.env['ir.translation'] + discussion = self.env.ref('test_new_api.discussion_0') + message = self.env.ref('test_new_api.message_0_0') + message1 = self.env.ref('test_new_api.message_0_1') + + email = self.env.ref('test_new_api.emailmessage_0_0') + self.assertEqual(email.message, message) + + french = self.env['res.lang']._lang_get('fr_FR') + french.active = True + + def count(msg): + # return the number of translations of msg.label + return Translations.search_count([ + ('name', '=', 'test_new_api.message,label'), + ('res_id', '=', msg.id), + ]) + + # set a translation for message.label + email.with_context(lang='fr_FR').label = "bonjour" + self.assertEqual(count(message), 1) + self.assertEqual(count(message1), 0) + + # setting the parent record should not copy its translations + email.copy({'message': message1.id}) + self.assertEqual(count(message), 1) + self.assertEqual(count(message1), 0) + + # setting a one2many should not copy translations on the lines + discussion.copy({'messages': [(6, 0, message1.ids)]}) + self.assertEqual(count(message), 1) + self.assertEqual(count(message1), 0) + class TestX2many(common.TransactionCase): def test_search_many2many(self): |
