bemade-addons/tests/test_root_ancestor.py

55 lines
No EOL
2 KiB
Python

from odoo.tests.common import TransactionCase, tagged
from odoo import Command
class TestPartnerRootAncestor(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
partner = cls.env['res.partner']
cls.common_ancestor = partner.create({
'name': 'Parnter name',
'company_type': 'company',
})
cls.first_child = partner.create({
'name': 'Child name',
'company_type': 'company',
'parent_id': cls.common_ancestor.id,
})
cls.second_child = partner.create({
'name': 'Child name',
'company_type': 'company',
'parent_id': cls.common_ancestor.id,
})
cls.first_grandchild = partner.create({
'name': 'Grandchild name',
'company_type': 'person',
'parent_id': cls.first_child.id,
})
cls.second_grandchild = partner.create({
'name': 'Grandchild name',
'company_type': 'person',
'parent_id': cls.second_child.id,
})
cls.unrelated_partner = partner.create({
'name': 'Unrelated partner',
})
cls.relatives = [cls.common_ancestor, cls.first_child, cls.second_child, cls.first_grandchild,
cls.second_grandchild]
@tagged('-at_install', 'post_install')
def testBaseCase(self):
for r1 in self.relatives:
self.assertFalse(r1.root_ancestor == self.unrelated_partner)
for r2 in self.relatives:
self.assertTrue(r1.root_ancestor == r2.root_ancestor)
@tagged('-at_install', 'post_install')
def testNewRelative(self):
new_relative = self.env['res.partner'].create({
'name': 'Whatever',
'company_type': 'person',
'parent_id': self.second_grandchild.id,
})
for r1 in self.relatives:
self.assertTrue(r1.root_ancestor == new_relative.root_ancestor)