From 7e83c238444de4ab12ee1a2b785a0d2448f8cf03 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 4 Nov 2013 16:39:46 +0100 Subject: [PATCH] [ADD] base: tests for translations and duplication bzr revid: mat@openerp.com-20131104153946-vhpnbn8t1oxfaep1 --- openerp/addons/base/tests/test_base.py | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/openerp/addons/base/tests/test_base.py b/openerp/addons/base/tests/test_base.py index 3459735..d566ba9 100644 --- a/openerp/addons/base/tests/test_base.py +++ b/openerp/addons/base/tests/test_base.py @@ -304,5 +304,47 @@ class test_partner_recursion(common.TransactionCase): cr, uid, p1, p2, p3 = self.cr, self.uid, self.p1, self.p2, self.p3 self.assertTrue(self.res_partner.write(cr, uid, [p1,p2,p3], {'phone': '123456'})) +class test_translation(common.TransactionCase): + + def setUp(self): + super(test_translation, self).setUp() + self.res_category = self.registry('res.partner.category') + self.ir_translation = self.registry('ir.translation') + cr, uid = self.cr, self.uid + self.registry('ir.translation').load(cr, ['base'], ['fr_BE']) + self.cat_id = self.res_category.create(cr, uid, {'name': 'Customers'}) + self.ir_translation.create(cr, uid, {'name': 'res.partner.category,name', 'module':'base', + 'value': 'Clients', 'res_id': self.cat_id, 'lang':'fr_BE', 'state':'translated', 'type': 'model'}) + + def test_101_create_translated_record(self): + cr, uid = self.cr, self.uid + + no_context_cat = self.res_category.browse(cr, uid, self.cat_id) + self.assertTrue(no_context_cat.name == 'Customers', "Error in basic name_get") + + fr_context_cat = self.res_category.browse(cr, uid, self.cat_id, context={'lang':'fr_BE'}) + self.assertTrue(fr_context_cat.name == 'Clients', "Translation not found") + + def test_102_duplicate_record(self): + cr, uid = self.cr, self.uid + self.new_cat_id = self.res_category.copy(cr, uid, self.cat_id, context={'lang':'fr_BE'}) + + no_context_cat = self.res_category.browse(cr, uid, self.new_cat_id) + self.assertTrue(no_context_cat.name == 'Customers', "Duplication did not set untranslated value") + + fr_context_cat = self.res_category.browse(cr, uid, self.new_cat_id, context={'lang':'fr_BE'}) + self.assertTrue(fr_context_cat.name == 'Clients', "Did not found translation for initial value") + + def test_103_duplicate_record_fr(self): + cr, uid = self.cr, self.uid + self.new_fr_cat_id = self.res_category.copy(cr, uid, self.cat_id, default={'name': 'Clients (copie)'}, context={'lang':'fr_BE'}) + + no_context_cat = self.res_category.browse(cr, uid, self.new_fr_cat_id) + self.assertTrue(no_context_cat.name == 'Clients (copie)', "Duplication with default value not applied") + + fr_context_cat = self.res_category.browse(cr, uid, self.new_fr_cat_id, context={'lang':'fr_BE'}) + self.assertTrue(fr_context_cat.name == 'Clients', "Did not found translation for initial value") + + if __name__ == '__main__': unittest2.main() -- 1.7.10.4