[ADD] tests for DataSet.(do_)find
bzr revid: xmo@openerp.com-20110323090801-vx75gc5vk0hx71og
This commit is contained in:
parent
3d65a024d2
commit
2594a8cad6
|
@ -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)
|
||||
|
|
|
@ -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]);
|
||||
}
|
||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue