1 # -*- coding: utf-8 -*-
4 import openerp.addons.web.controllers.main
6 class TestDataSetController(unittest2.TestCase):
8 self.dataset = openerp.addons.web.controllers.main.DataSet()
9 self.request = mock.Mock()
10 self.read = self.request.session.model().read
11 self.search = self.request.session.model().search
13 def test_empty_find(self):
14 self.search.return_value = []
15 self.read.return_value = []
18 self.dataset.do_search_read(self.request, 'fake.model'),
19 {'records': [], 'length': 0})
20 self.read.assert_called_once_with(
21 [], False, self.request.context)
23 def test_regular_find(self):
24 self.search.return_value = [1, 2, 3]
25 self.read.return_value = [
26 {'id': 1, 'name': 'foo'},
27 {'id': 2, 'name': 'bar'},
28 {'id': 3, 'name': 'qux'}
31 self.dataset.do_search_read(self.request, 'fake.model')
32 self.read.assert_called_once_with(
33 [1, 2, 3], False,self.request.context)
35 def test_ids_shortcut(self):
36 self.search.return_value = [1, 2, 3]
37 self.read.return_value = [
38 {'id': 1, 'name': 'foo'},
39 {'id': 2, 'name': 'bar'},
40 {'id': 3, 'name': 'qux'}
44 self.dataset.do_search_read(self.request, 'fake.model', ['id']),
45 {'records': [{'id': 1}, {'id': 2}, {'id': 3}], 'length': 3})
46 self.assertFalse(self.read.called)