[FIX] tests.common: make ref() and browse_ref() work for TransactionCase as well + update tests

bzr revid: odo@openerp.com-20121109170826-jaer3j0p47uq37np
This commit is contained in:
Olivier Dony 2012-11-09 18:08:26 +01:00
parent 91e2d25cdd
commit b298dc4570
2 changed files with 22 additions and 2 deletions

View File

@ -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()

View File

@ -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()