diff options
Diffstat (limited to 'addons/web/static/tests')
| -rw-r--r-- | addons/web/static/tests/core/rpc_tests.js | 70 | ||||
| -rw-r--r-- | addons/web/static/tests/fields/relational_fields_tests.js | 4 | ||||
| -rw-r--r-- | addons/web/static/tests/helpers/mock_server.js | 12 |
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; |
