From dd43214fe169e467f1a0643ef95610187ded8a17 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 23 Apr 2013 15:25:23 +0200 Subject: [PATCH] [ADD] tests to get_root_ancestor use a default view_type of form in the tests, because whatever bzr revid: xmo@openerp.com-20130423132523-upbgbt2a3r7cgs08 --- openerp/osv/orm.py | 2 -- openerp/tests/test_views.py | 23 ++++++++++++++++++++++- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 4f71f11f47e..15091e9383b 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -2067,9 +2067,7 @@ class BaseModel(object): :param inherit_id: the database view_id of the parent view :return: a modified source where all the modifying architecture are applied - """ - View = self.pool['ir.ui.view'] return reduce( lambda s, descendant: View.apply_inheritance_specs( cr, user, self._name, inherit_id, s, *descendant, context=context), diff --git a/openerp/tests/test_views.py b/openerp/tests/test_views.py index 7a61aab5aa2..7c6e2a347db 100644 --- a/openerp/tests/test_views.py +++ b/openerp/tests/test_views.py @@ -104,7 +104,9 @@ class TestViewInheritance(common.TransactionCase): 'model': self.model, 'name': name, 'arch': self.view_for(name), - 'inherit_id': parent, }) + 'inherit_id': parent, + 'type': 'form', + }) self.ids[name] = view_id return view_id @@ -158,3 +160,22 @@ class TestViewInheritance(common.TransactionCase): (self.ids[name], self.view_for(name)) for name in ['A21', 'A22', 'A221'] ]) + + def test_find_root(self): + A_id = self.ids['A'] + root = self.View.get_root_ancestor(self.cr, self.uid, view_id=A_id) + self.assertEqual(root['id'], A_id, + "when given a root view, operation should be id") + + root = self.View.get_root_ancestor( + self.cr, self.uid, view_id=self.ids['A11']) + self.assertEqual(root['id'], A_id) + + root = self.View.get_root_ancestor( + self.cr, self.uid, view_id=self.ids['A221']) + self.assertEqual(root['id'], A_id) + + # search by model + root = self.View.get_root_ancestor( + self.cr, self.uid, model=self.model, view_type='form') + self.assertEqual(root['id'], A_id)