bzr revid: chs@openerp.com-20140129095637-mbfz82r5pyz4dctc bzr revid: dle@openerp.com-20140210140818-5mtk1qhheo219bm1 bzr revid: dle@openerp.com-20140214114445-krexrwm9o2nrxepk bzr revid: mat@openerp.com-20140219111353-cxo860z7ctz7om30 bzr revid: dle@openerp.com-20140221120519-1pj3wc8kqgkr5uda bzr revid: chs@openerp.com-20140318112743-tqv492026y2pnbff
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
import mock
|
|
import unittest2
|
|
import openerp.addons.web.controllers.main
|
|
from openerp.addons.web.http import request as req
|
|
from openerp.addons.web.http import set_request
|
|
|
|
class TestDataSetController(unittest2.TestCase):
|
|
def setUp(self):
|
|
self.dataset = openerp.addons.web.controllers.main.DataSet()
|
|
self.tmp_req = set_request(mock.Mock())
|
|
self.tmp_req.__enter__()
|
|
self.read = req.session.model().read
|
|
self.search = req.session.model().search
|
|
|
|
def tearDown(self):
|
|
self.tmp_req.__exit__()
|
|
|
|
def test_empty_find(self):
|
|
self.search.return_value = []
|
|
self.read.return_value = []
|
|
|
|
self.assertEqual(
|
|
self.dataset.do_search_read('fake.model'),
|
|
{'records': [], 'length': 0})
|
|
self.read.assert_called_once_with(
|
|
[], False, req.context)
|
|
|
|
def test_regular_find(self):
|
|
self.search.return_value = [1, 2, 3]
|
|
self.read.return_value = [
|
|
{'id': 1, 'name': 'foo'},
|
|
{'id': 2, 'name': 'bar'},
|
|
{'id': 3, 'name': 'qux'}
|
|
]
|
|
|
|
self.dataset.do_search_read('fake.model')
|
|
self.read.assert_called_once_with(
|
|
[1, 2, 3], False, req.context)
|
|
|
|
def test_ids_shortcut(self):
|
|
self.search.return_value = [1, 2, 3]
|
|
self.read.return_value = [
|
|
{'id': 1, 'name': 'foo'},
|
|
{'id': 2, 'name': 'bar'},
|
|
{'id': 3, 'name': 'qux'}
|
|
]
|
|
|
|
self.assertEqual(
|
|
self.dataset.do_search_read('fake.model', ['id']),
|
|
{'records': [{'id': 1}, {'id': 2}, {'id': 3}], 'length': 3})
|
|
self.assertFalse(self.read.called)
|