From 99fb043668fd2d02ad1b79cbe8de7a1be012f0a8 Mon Sep 17 00:00:00 2001 From: Bruno Boi Date: Tue, 6 Oct 2020 13:37:38 +0000 Subject: [PATCH] [FIX] web: sorting in mock_server's search_read The mock server was slicing the records before sorting. Now mocking a search read would sort the records before slicing them. This will ensure the records to be loaded with the correct sorting order when e.g. a load more is applied on a subset. Taskid: 2196661 --- addons/web/static/tests/helpers/mock_server.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/web/static/tests/helpers/mock_server.js b/addons/web/static/tests/helpers/mock_server.js index 09196e9e5c3..01c90646f54 100644 --- a/addons/web/static/tests/helpers/mock_server.js +++ b/addons/web/static/tests/helpers/mock_server.js @@ -1693,6 +1693,13 @@ var MockServer = Class.extend({ var fields = args.fields && args.fields.length ? args.fields : _.keys(this.data[args.model].fields); var nbRecords = records.length; var offset = args.offset || 0; + if (args.sort) { + // warning: only consider first level of sort + args.sort = args.sort.split(',')[0]; + var fieldName = args.sort.split(' ')[0]; + var order = args.sort.split(' ')[1]; + records = this._sortByField(records, args.model, fieldName, order); + } records = records.slice(offset, args.limit ? (offset + args.limit) : nbRecords); var processedRecords = _.map(records, function (r) { var result = {}; @@ -1710,13 +1717,6 @@ var MockServer = Class.extend({ }); return result; }); - if (args.sort) { - // warning: only consider first level of sort - args.sort = args.sort.split(',')[0]; - var fieldName = args.sort.split(' ')[0]; - var order = args.sort.split(' ')[1]; - processedRecords = this._sortByField(processedRecords, args.model, fieldName, order); - } var result = { length: nbRecords, records: processedRecords,