[IMP] tests: add test on related fields

bzr revid: rco@openerp.com-20120309161547-um53k5rqqts9flz6
This commit is contained in:
Raphael Collet 2012-03-09 17:15:47 +01:00
parent 82f492bc2c
commit 8f8b5497d1
1 changed files with 23 additions and 0 deletions

View File

@ -13,6 +13,29 @@ class TestRelatedField(common.TransactionCase):
def setUp(self):
super(TestRelatedField, self).setUp()
self.partner = self.registry('res.partner')
self.company = self.registry('res.company')
def test_0_related(self):
""" test an usual related field """
# add a related field test_related_company_id on res.partner
old_columns = self.partner._columns
self.partner._columns = dict(old_columns)
self.partner._columns.update({
'related_company_partner_id': fields.related('company_id', 'partner_id', type='many2one', obj='res.partner'),
})
# find a company with a non-null partner_id
ids = self.company.search(self.cr, self.uid, [('partner_id', '!=', False)], limit=1)
id = ids[0]
# find partners that satisfy [('partner_id.company_id', '=', id)]
company_ids = self.company.search(self.cr, self.uid, [('partner_id', '=', id)])
partner_ids1 = self.partner.search(self.cr, self.uid, [('company_id', 'in', company_ids)])
partner_ids2 = self.partner.search(self.cr, self.uid, [('related_company_partner_id', '=', id)])
self.assertEqual(partner_ids1, partner_ids2)
# restore res.partner fields
self.partner._columns = old_columns
def do_test_company_field(self, field):
# get a partner with a non-null company_id