From b298dc45705dc399b10298dd729cd368ba32d2e9 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 9 Nov 2012 18:08:26 +0100 Subject: [PATCH] [FIX] tests.common: make ref() and browse_ref() work for TransactionCase as well + update tests bzr revid: odo@openerp.com-20121109170826-jaer3j0p47uq37np --- openerp/tests/common.py | 6 ++++-- openerp/tests/test_basecase.py | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/openerp/tests/common.py b/openerp/tests/common.py index 2c492e915cb..3f0143ef9df 100644 --- a/openerp/tests/common.py +++ b/openerp/tests/common.py @@ -89,8 +89,10 @@ class TransactionCase(BaseCase): """ def setUp(self): - self.cr = self.cursor() - self.uid = openerp.SUPERUSER_ID + # Store cr and uid in class variables, to allow ref() and browse_ref to be BaseCase @classmethods + # and still access them + TransactionCase.cr = self.cursor() + TransactionCase.uid = openerp.SUPERUSER_ID def tearDown(self): self.cr.rollback() diff --git a/openerp/tests/test_basecase.py b/openerp/tests/test_basecase.py index 55125b6d7c2..376494b571e 100644 --- a/openerp/tests/test_basecase.py +++ b/openerp/tests/test_basecase.py @@ -64,6 +64,24 @@ class test_transaction_case(common.TransactionCase): ids = self.registry('res.partner').search(cr, uid, [('name', '=', 'test_per_class_teardown_partner')]) self.assertEqual(0, len(ids), "Test partner found.") + + def test_20a(self): + """ Create a partner with a XML ID then resolve xml id with ref() and browse_ref() """ + cr, uid = self.cr, self.uid + res_partner = self.registry('res.partner') + ir_model_data = self.registry('ir.model.data') + pid, _ = res_partner.name_create(cr, uid, 'Mr Yellow') + ir_model_data.create(cr, uid, {'name': 'test_partner_yellow', + 'module': 'base', + 'model': 'res.partner', + 'res_id': pid}) + xid = 'base.test_partner_yellow' + p_ref = self.ref(xid) + self.assertEquals(p_ref, pid, "ref() should resolve xid to database ID") + partner = res_partner.browse(cr, uid, pid) + p_browse_ref = self.browse_ref(xid) + self.assertEqual(partner, p_browse_ref, "browse_ref() should resolve xid to browse records") + if __name__ == '__main__': unittest2.main()