[IMP] tests: add test on related fields
bzr revid: rco@openerp.com-20120309161547-um53k5rqqts9flz6
This commit is contained in:
parent
82f492bc2c
commit
8f8b5497d1
|
@ -13,6 +13,29 @@ class TestRelatedField(common.TransactionCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestRelatedField, self).setUp()
|
super(TestRelatedField, self).setUp()
|
||||||
self.partner = self.registry('res.partner')
|
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):
|
def do_test_company_field(self, field):
|
||||||
# get a partner with a non-null company_id
|
# get a partner with a non-null company_id
|
||||||
|
|
Loading…
Reference in New Issue