From d6199087727f8bf6324e91b529624032cf2aa8af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Theys?= Date: Fri, 16 Jun 2023 10:10:38 +0000 Subject: [PATCH] [FIX] mail: fix mock server of load around Forgot to properly sort messages, resulting in returning messages not actually around but the most recent instead. X-original-commit: 803f1ad7e3bceaa8f03fca06f920447ce9d8eb69 Part-of: odoo/odoo#125439 --- .../mock_server/models/mail_message.js | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/addons/mail/static/tests/helpers/mock_server/models/mail_message.js b/addons/mail/static/tests/helpers/mock_server/models/mail_message.js index 9470f638cf8..4aaede7fe97 100644 --- a/addons/mail/static/tests/helpers/mock_server/models/mail_message.js +++ b/addons/mail/static/tests/helpers/mock_server/models/mail_message.js @@ -135,20 +135,16 @@ patch(MockServer.prototype, "mail/models/mail_message", { */ _mockMailMessage_MessageFetch(domain, before, after, around, limit = 30) { if (around) { - const messagesBefore = this._mockMailMessage_MessageFetch( - domain.concat([["id", "<=", around]]), - before, - after, - false, - limit / 2 - ); - const messagesAfter = this._mockMailMessage_MessageFetch( - domain.concat([["id", ">", around]]), - before, - after, - false, - limit / 2 - ); + const messagesBefore = this.getRecords( + "mail.message", + domain.concat([["id", "<=", around]]) + ).sort((m1, m2) => m2.id - m1.id); + messagesBefore.length = Math.min(messagesBefore.length, limit / 2); + const messagesAfter = this.getRecords( + "mail.message", + domain.concat([["id", ">", around]]) + ).sort((m1, m2) => m1.id - m2.id); + messagesAfter.length = Math.min(messagesAfter.length, limit / 2); return messagesAfter.concat(messagesBefore.reverse()); } if (before) {