[ADD] tests for DataSet.(do_)find

bzr revid: xmo@openerp.com-20110323090801-vx75gc5vk0hx71og
This commit is contained in:
Xavier Morel 2011-03-23 10:08:01 +01:00
parent 3d65a024d2
commit 2594a8cad6
3 changed files with 41 additions and 1 deletions

View File

@ -172,6 +172,10 @@ class DataSet(openerpweb.Controller):
@openerpweb.jsonrequest
def find(self, request, model, fields=False, offset=0, limit=False,
domain=None, context=None, sort=None):
return self.do_find(request, model, fields, offset, limit,
domain, context, sort)
def do_find(self, request, model, fields=False, offset=0, limit=False,
domain=None, context=None, sort=None):
Model = request.session.model(model)
ids = Model.search(domain or [], offset or 0, limit or False,
sort or False, context or False)

View File

@ -450,7 +450,6 @@ openerp.base.FormView = openerp.base.Controller.extend({
},
on_record_loaded: function(records) {
this.datarecord = records[0];
console.log('record', this.datarecord);
for (var f in this.fields) {
this.fields[f].set_value(this.datarecord.values[f]);
}

View File

@ -0,0 +1,37 @@
# -*- coding: utf-8 -*-
import mock
import unittest2
import base.controllers.main
class TestDataSetController(unittest2.TestCase):
def setUp(self):
self.dataset = base.controllers.main.DataSet()
self.request = mock.Mock()
self.read = self.request.session.model().read
self.search = self.request.session.model().search
def test_empty_find(self):
self.search.return_value = []
self.read.return_value = []
self.assertFalse(self.dataset.do_find(self.request, 'fake.model'))
self.read.assert_called_once_with([], False)
def test_regular_find(self):
self.search.return_value = [1, 2, 3]
self.dataset.do_find(self.request, 'fake.model')
self.read.assert_called_once_with([1, 2, 3], False)
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_find(self.request, 'fake.model', ['id']),
[{'id': 1}, {'id': 2}, {'id': 3}])
self.assertFalse(self.read.called)