35 lines
1.0 KiB
Python
Executable File
35 lines
1.0 KiB
Python
Executable File
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
# this repository contains the full copyright notices and license terms.
|
|
import unittest
|
|
|
|
from trytond.pool import Pool
|
|
from trytond.transaction import inactive_records
|
|
|
|
from .test_tree import TreeTestCaseMixin
|
|
|
|
|
|
class PathTestCase(TreeTestCaseMixin, unittest.TestCase):
|
|
"Test Path"
|
|
model_name = 'test.path'
|
|
|
|
def check_tree(self, parent_id=None):
|
|
pool = Pool()
|
|
Path = pool.get(self.model_name)
|
|
|
|
with inactive_records():
|
|
children = Path.search([
|
|
('parent', '=', parent_id),
|
|
])
|
|
for child in children:
|
|
if child.parent:
|
|
self.assertEqual(
|
|
child.path, '%s%s/' % (child.parent.path, child.id))
|
|
else:
|
|
self.assertEqual(child.path, '%s/' % child.id)
|
|
self.check_tree(child.id)
|
|
|
|
def rebuild(self):
|
|
pool = Pool()
|
|
Path = pool.get(self.model_name)
|
|
Path._rebuild_path('parent')
|