[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
|
@openerpweb.jsonrequest
|
||||||
def find(self, request, model, fields=False, offset=0, limit=False,
|
def find(self, request, model, fields=False, offset=0, limit=False,
|
||||||
domain=None, context=None, sort=None):
|
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)
|
Model = request.session.model(model)
|
||||||
ids = Model.search(domain or [], offset or 0, limit or False,
|
ids = Model.search(domain or [], offset or 0, limit or False,
|
||||||
sort or False, context or False)
|
sort or False, context or False)
|
||||||
|
|
|
@ -450,7 +450,6 @@ openerp.base.FormView = openerp.base.Controller.extend({
|
||||||
},
|
},
|
||||||
on_record_loaded: function(records) {
|
on_record_loaded: function(records) {
|
||||||
this.datarecord = records[0];
|
this.datarecord = records[0];
|
||||||
console.log('record', this.datarecord);
|
|
||||||
for (var f in this.fields) {
|
for (var f in this.fields) {
|
||||||
this.fields[f].set_value(this.datarecord.values[f]);
|
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