[FIX] web: re-enable test_menu.py without the mock-menu test
This commit is contained in:
parent
56b6c2fee4
commit
ee697920f5
|
@ -1,4 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import test_js
|
||||
# import test_menu
|
||||
import test_menu
|
||||
import test_serving_base
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import unittest2
|
||||
|
||||
import mock
|
||||
|
||||
from openerp import http
|
||||
|
||||
class MockRequestCase(unittest2.TestCase):
|
||||
def setUp(self):
|
||||
super(MockRequestCase, self).setUp()
|
||||
http._request_stack.push(mock.Mock())
|
||||
|
||||
def tearDown(self):
|
||||
http._request_stack.pop()
|
||||
super(MockRequestCase, self).tearDown()
|
||||
|
|
@ -1,139 +1,9 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
import collections
|
||||
|
||||
import mock
|
||||
import unittest2
|
||||
|
||||
from openerp.http import request as req
|
||||
|
||||
from . import common
|
||||
|
||||
from ..controllers import main
|
||||
|
||||
|
||||
class Placeholder(object):
|
||||
def __init__(self, **kwargs):
|
||||
for k, v in kwargs.iteritems():
|
||||
setattr(self, k, v)
|
||||
|
||||
|
||||
class LoadTest(common.MockRequestCase):
|
||||
def setUp(self):
|
||||
super(LoadTest, self).setUp()
|
||||
self.home = main.Home()
|
||||
|
||||
# Have self.request.session.model() return a different mock object for
|
||||
# each model (but always the same mock for a given model name)
|
||||
models = collections.defaultdict(mock.Mock)
|
||||
model = req.session.model.side_effect = \
|
||||
lambda model_name: models[model_name]
|
||||
|
||||
self.MockMenus = model('ir.ui.menu')
|
||||
# Mock the absence of custom menu
|
||||
model('res.users').read.return_value = []
|
||||
|
||||
def tearDown(self):
|
||||
del self.MockMenus
|
||||
del self.home
|
||||
super(LoadTest, self).tearDown()
|
||||
|
||||
def test_empty(self):
|
||||
self.MockMenus.search.return_value = []
|
||||
self.MockMenus.read.return_value = []
|
||||
|
||||
root = self.home.load_menus()
|
||||
|
||||
self.MockMenus.search.assert_called_with(
|
||||
[('parent_id', '=', False)], 0, False, False,
|
||||
req.context)
|
||||
|
||||
self.assertEqual(root['all_menu_ids'], [])
|
||||
|
||||
self.assertListEqual(
|
||||
root['children'],
|
||||
[])
|
||||
|
||||
def test_applications_sort(self):
|
||||
self.MockMenus.search.return_value = [1, 2, 3]
|
||||
self.MockMenus.read.side_effect = lambda *args: [
|
||||
{'id': 1, 'sequence': 1, 'parent_id': False},
|
||||
{'id': 3, 'sequence': 2, 'parent_id': False},
|
||||
{'id': 2, 'sequence': 3, 'parent_id': False},
|
||||
]
|
||||
|
||||
root = self.home.load_menus()
|
||||
|
||||
self.MockMenus.search.assert_called_with(
|
||||
[('id', 'child_of', [1, 2, 3])], 0, False, False,
|
||||
req.context)
|
||||
|
||||
self.MockMenus.read.assert_called_with(
|
||||
[1, 2, 3], ['name', 'sequence', 'parent_id',
|
||||
'action'],
|
||||
req.context)
|
||||
|
||||
self.assertEqual(root['all_menu_ids'], [1, 2, 3])
|
||||
|
||||
self.assertEqual(
|
||||
root['children'],
|
||||
[{
|
||||
'id': 1, 'sequence': 1,
|
||||
'parent_id': False, 'children': []
|
||||
}, {
|
||||
'id': 3, 'sequence': 2,
|
||||
'parent_id': False, 'children': []
|
||||
}, {
|
||||
'id': 2, 'sequence': 3,
|
||||
'parent_id': False, 'children': []
|
||||
}])
|
||||
|
||||
def test_deep(self):
|
||||
self.MockMenus.search.side_effect = lambda domain, *args: (
|
||||
[1] if domain == [('parent_id', '=', False)] else [1, 2, 3, 4])
|
||||
|
||||
root = {'id': 1, 'sequence': 1, 'parent_id': False}
|
||||
self.MockMenus.read.side_effect = lambda ids, *args: (
|
||||
[root] if ids == [1] else [
|
||||
{'id': 1, 'sequence': 1, 'parent_id': False},
|
||||
{'id': 2, 'sequence': 2, 'parent_id': [1, '']},
|
||||
{'id': 3, 'sequence': 1, 'parent_id': [2, '']},
|
||||
{'id': 4, 'sequence': 2, 'parent_id': [2, '']},
|
||||
])
|
||||
|
||||
root = self.home.load_menus()
|
||||
|
||||
self.MockMenus.search.assert_called_with(
|
||||
[('id', 'child_of', [1])], 0, False, False,
|
||||
req.context)
|
||||
|
||||
self.assertEqual(root['all_menu_ids'], [1, 2, 3, 4])
|
||||
|
||||
self.assertEqual(
|
||||
root['children'],
|
||||
[{
|
||||
'id': 1,
|
||||
'sequence': 1,
|
||||
'parent_id': False,
|
||||
'children': [{
|
||||
'id': 2,
|
||||
'sequence': 2,
|
||||
'parent_id': [1, ''],
|
||||
'children': [{
|
||||
'id': 3,
|
||||
'sequence': 1,
|
||||
'parent_id': [2, ''],
|
||||
'children': []
|
||||
}, {
|
||||
'id': 4,
|
||||
'sequence': 2,
|
||||
'parent_id': [2, ''],
|
||||
'children': []
|
||||
}]
|
||||
}]
|
||||
}]
|
||||
)
|
||||
|
||||
|
||||
class ActionMungerTest(unittest2.TestCase):
|
||||
def test_actual_treeview(self):
|
||||
action = {
|
||||
|
@ -167,6 +37,7 @@ class ActionMungerTest(unittest2.TestCase):
|
|||
})
|
||||
|
||||
def test_redundant_views(self):
|
||||
|
||||
action = {
|
||||
"views": [[False, "tree"], [False, "form"],
|
||||
[False, "calendar"], [42, "tree"]],
|
||||
|
|
Loading…
Reference in New Issue