summaryrefslogtreecommitdiff
path: root/addons/web/static/tests
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/tests')
-rw-r--r--addons/web/static/tests/core/rpc_tests.js70
-rw-r--r--addons/web/static/tests/fields/relational_fields_tests.js4
-rw-r--r--addons/web/static/tests/helpers/mock_server.js12
3 files changed, 72 insertions, 14 deletions
diff --git a/addons/web/static/tests/core/rpc_tests.js b/addons/web/static/tests/core/rpc_tests.js
index c19f1007417..3b7fc006b02 100644
--- a/addons/web/static/tests/core/rpc_tests.js
+++ b/addons/web/static/tests/core/rpc_tests.js
@@ -137,6 +137,33 @@ QUnit.module('core', {}, function () {
orderBy: [{name: 'yop', asc: true}, {name: 'aa', asc: false}],
});
assert.deepEqual(query.params, {
+ args: [],
+ kwargs: {
+ domain: ['a', '=', 1],
+ fields: ['name'],
+ offset: 2,
+ limit: 32,
+ order: 'yop ASC, aa DESC'
+ },
+ method: 'search_read',
+ model: 'partner'
+ }, "should have correct kwargs");
+ });
+
+ QUnit.test('search_read with args', function (assert) {
+ assert.expect(1);
+ var query = rpc.buildQuery({
+ model: 'partner',
+ method: 'search_read',
+ args: [
+ ['a', '=', 1],
+ ['name'],
+ 2,
+ 32,
+ 'yop ASC, aa DESC',
+ ]
+ });
+ assert.deepEqual(query.params, {
args: [['a', '=', 1], ['name'], 2, 32, 'yop ASC, aa DESC'],
kwargs: {},
method: 'search_read',
@@ -165,7 +192,6 @@ QUnit.module('core', {}, function () {
fields: ['name'],
groupby: ['product_id'],
lazy: true,
- orderby: false,
},
method: 'read_group',
model: 'partner',
@@ -195,23 +221,55 @@ QUnit.module('core', {}, function () {
fields: ['name'],
groupby: ['product_id'],
lazy: false,
- orderby: false,
},
method: 'read_group',
model: 'partner',
}, "should have correct args");
});
+ QUnit.test('read_group with no domain, nor fields', function (assert) {
+ assert.expect(7);
+ var query = rpc.buildQuery({
+ model: 'partner',
+ method: 'read_group',
+ });
+
+ assert.deepEqual(query.params.kwargs.domain, [], "should have [] as default domain");
+ assert.deepEqual(query.params.kwargs.fields, [], "should have false as default fields");
+ assert.deepEqual(query.params.kwargs.groupby, [], "should have false as default groupby");
+ assert.deepEqual(query.params.kwargs.offset, undefined, "should not enforce a default value for offst");
+ assert.deepEqual(query.params.kwargs.limit, undefined, "should not enforce a default value for limit");
+ assert.deepEqual(query.params.kwargs.orderby, undefined, "should not enforce a default value for orderby");
+ assert.deepEqual(query.params.kwargs.lazy, undefined, "should not enforce a default value for lazy");
+ });
+
QUnit.test('search_read with no domain, nor fields', function (assert) {
- assert.expect(2);
+ assert.expect(5);
+ var query = rpc.buildQuery({
+ model: 'partner',
+ method: 'search_read',
+ });
+
+ assert.deepEqual(query.params.kwargs.domain, undefined, "should not enforce a default value for domain");
+ assert.deepEqual(query.params.kwargs.fields, undefined, "should not enforce a default value for fields");
+ assert.deepEqual(query.params.kwargs.offset, undefined, "should not enforce a default value for offset");
+ assert.deepEqual(query.params.kwargs.limit, undefined, "should not enforce a default value for limit");
+ assert.deepEqual(query.params.kwargs.order, undefined, "should not enforce a default value for orderby");
+ });
+
+ QUnit.test('search_read controller with no domain, nor fields', function (assert) {
+ assert.expect(5);
var query = rpc.buildQuery({
model: 'partner',
route: '/web/dataset/search_read',
});
- assert.deepEqual(query.params.domain, [], "should have [] as default domain");
- assert.strictEqual(query.params.fields, false, "should have false as default fields");
+ assert.deepEqual(query.params.domain, undefined, "should not enforce a default value for domain");
+ assert.deepEqual(query.params.fields, undefined, "should not enforce a default value for fields");
+ assert.deepEqual(query.params.offset, undefined, "should not enforce a default value for groupby");
+ assert.deepEqual(query.params.limit, undefined, "should not enforce a default value for limit");
+ assert.deepEqual(query.params.sort, undefined, "should not enforce a default value for order");
});
});
-}); \ No newline at end of file
+});
diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js
index 37c1f7aeac6..4a1d7b5bdbb 100644
--- a/addons/web/static/tests/fields/relational_fields_tests.js
+++ b/addons/web/static/tests/fields/relational_fields_tests.js
@@ -3361,7 +3361,7 @@ QUnit.module('relational_fields', {
mockRPC: function (route, args) {
if (args.method === 'search_read') {
count++;
- nb_fields_fetched = args.args[1].length;
+ nb_fields_fetched = args.kwargs.fields.length;
}
return this._super.apply(this, arguments);
},
@@ -3394,7 +3394,7 @@ QUnit.module('relational_fields', {
'</form>',
mockRPC: function (route, args) {
if (args.method === 'search_read') {
- assert.deepEqual(args.args[0], ['|', ['id', '=', 4], ['user_id', '=', 17]],
+ assert.deepEqual(args.kwargs.domain, ['|', ['id', '=', 4], ['user_id', '=', 17]],
"search_read should sent the correct domain");
}
return this._super.apply(this, arguments);
diff --git a/addons/web/static/tests/helpers/mock_server.js b/addons/web/static/tests/helpers/mock_server.js
index 72a75c3320d..f7faf2efb8f 100644
--- a/addons/web/static/tests/helpers/mock_server.js
+++ b/addons/web/static/tests/helpers/mock_server.js
@@ -718,11 +718,11 @@ var MockServer = Class.extend({
_mockSearchRead: function (model, args, kwargs) {
var result = this._mockSearchReadController({
model: model,
- domain: args[0],
- fields: args[1],
- offset: args[2],
- limit: args[3],
- sort: args[4],
+ domain: kwargs.domain || args[0],
+ fields: kwargs.fields || args[1],
+ offset: kwargs.offset || args[2],
+ limit: kwargs.limit || args[3],
+ order: kwargs.order || args[4],
context: kwargs.context,
});
return result.records;
@@ -743,7 +743,7 @@ var MockServer = Class.extend({
*/
_mockSearchReadController: function (args) {
var self = this;
- var records = this._getRecords(args.model, args.domain);
+ var records = this._getRecords(args.model, args.domain || []);
var fields = args.fields || _.keys(this.data[args.model].fields);
var nbRecords = records.length;
var offset = args.offset || 0;