1
# -*- coding: utf-8 -*-
4
import openerp.addons.web.controllers.main
5
from openerp.http import request as req
7
class TestDataSetController(common.MockRequestCase):
9
super(TestDataSetController, self).setUp()
10
self.dataset = openerp.addons.web.controllers.main.DataSet()
11
self.read = req.session.model().read
12
self.search = req.session.model().search
14
def test_empty_find(self):
15
self.search.return_value = []
16
self.read.return_value = []
19
self.dataset.do_search_read('fake.model'),
20
{'records': [], 'length': 0})
21
self.read.assert_called_once_with(
22
[], False, req.context)
24
def test_regular_find(self):
25
self.search.return_value = [1, 2, 3]
27
self.dataset.do_search_read('fake.model')
28
self.read.assert_called_once_with(
29
[1, 2, 3], False, req.context)
31
def test_ids_shortcut(self):
32
self.search.return_value = [1, 2, 3]
33
self.read.return_value = [
34
{'id': 1, 'name': 'foo'},
35
{'id': 2, 'name': 'bar'},
36
{'id': 3, 'name': 'qux'}
40
self.dataset.do_search_read('fake.model', ['id']),
41
{'records': [{'id': 1}, {'id': 2}, {'id': 3}], 'length': 3})
42
self.assertFalse(self.read.called)