From 5fb2d32ef2822091c6d0cdcdb831f67cbfeef401 Mon Sep 17 00:00:00 2001 From: Aaron Bohy Date: Mon, 20 Mar 2017 10:05:09 +0100 Subject: [PATCH] [IMP] web: MockServer: handle limit and offset in _mockSearchRead --- addons/web/static/test/helpers/mock_server.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/addons/web/static/test/helpers/mock_server.js b/addons/web/static/test/helpers/mock_server.js index ee1538feaa4..f5202fc2eda 100644 --- a/addons/web/static/test/helpers/mock_server.js +++ b/addons/web/static/test/helpers/mock_server.js @@ -651,12 +651,21 @@ var MockServer = Class.extend({ * * @private * @param {Object} args + * @param {Array} args.domain + * @param {string} args.model + * @param {Array} [args.fields] defaults to the list of all fields + * @param {integer} [args.limit] + * @param {integer} [args.offset=0] + * @param {string[]} [args.sort] * @returns {Object} */ _mockSearchRead: function (args) { var self = this; 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; + records = records.slice(offset, args.limit ? (offset + args.limit) : nbRecords); var processedRecords = _.map(records, function (r) { var result = {}; _.each(_.uniq(fields.concat(['id'])), function (fieldName) { @@ -687,7 +696,7 @@ var MockServer = Class.extend({ }); } var result = { - length: records.length, + length: nbRecords, records: processedRecords, }; return $.extend(true, {}, result);