From e1f0811b222e8c8e9640fccd0f3ccbe5fb6c1a22 Mon Sep 17 00:00:00 2001 From: tsm-odoo Date: Fri, 5 May 2023 12:54:55 +0000 Subject: [PATCH] [IMP] mail: replace hardcoded orm commands in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using hardcoded ORM commands in tests is cumbersome and not reliable. This commit introduces the same system as the one used on the server. closes odoo/odoo#120670 Signed-off-by: Alexandre Kühn (aku) --- addons/mail/static/tests/call/call_tests.js | 5 +- .../chat_window/chat_window_manager_tests.js | 13 ++-- .../chat_window_new_message_tests.js | 8 ++- .../tests/chat_window/chat_window_tests.js | 44 +++++++------ .../static/tests/composer/composer_tests.js | 17 +++--- .../static/tests/composer/typing_tests.js | 30 ++++----- .../mail/static/tests/core/open_chat_test.js | 10 ++- .../tests/discuss/channel_invitation_tests.js | 15 ++--- .../discuss/channel_member_list_tests.js | 30 ++++----- .../tests/discuss/crosstab/crosstab_tests.js | 5 +- .../static/tests/discuss_app/discuss_tests.js | 61 ++++++++++--------- .../tests/discuss_app/im_status_tests.js | 6 +- .../static/tests/discuss_app/sidebar_tests.js | 48 +++++++++------ addons/mail/static/tests/helpers/command.js | 51 ++++++++++++++++ .../mock_server/models/discuss_channel.js | 5 +- .../tests/helpers/model_definitions_setup.js | 3 +- .../message/message_seen_indicator_tests.js | 55 +++++++++-------- .../static/tests/message/message_tests.js | 12 ++-- .../static/tests/messaging/messaging_tests.js | 13 ++-- .../messaging_menu/messaging_menu_tests.js | 14 +++-- .../tests/suggestion/suggestion_tests.js | 22 ++++--- .../mail/static/tests/thread/thread_tests.js | 29 ++++----- 22 files changed, 300 insertions(+), 196 deletions(-) create mode 100644 addons/mail/static/tests/helpers/command.js diff --git a/addons/mail/static/tests/call/call_tests.js b/addons/mail/static/tests/call/call_tests.js index 8dd5e5a0c9e..68fbd641f3d 100644 --- a/addons/mail/static/tests/call/call_tests.js +++ b/addons/mail/static/tests/call/call_tests.js @@ -9,6 +9,7 @@ import { } from "@mail/../tests/helpers/test_utils"; import { editInput, nextTick, patchWithCleanup, triggerEvent } from "@web/../tests/helpers/utils"; import { browser } from "@web/core/browser/browser"; +import { Command } from "../helpers/command"; QUnit.module("call"); @@ -39,8 +40,8 @@ QUnit.test("no call with odoobot", async (assert) => { const pyEnv = await startServer(); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: pyEnv.odoobotId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: pyEnv.odoobotId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/chat_window/chat_window_manager_tests.js b/addons/mail/static/tests/chat_window/chat_window_manager_tests.js index 7b3c479dca4..2875b597c30 100644 --- a/addons/mail/static/tests/chat_window/chat_window_manager_tests.js +++ b/addons/mail/static/tests/chat_window/chat_window_manager_tests.js @@ -7,6 +7,7 @@ import { CHAT_WINDOW_INBETWEEN_WIDTH, CHAT_WINDOW_WIDTH, } from "@mail/web/chat_window/chat_window_service"; +import { Command } from "@mail/../tests/helpers/command"; QUnit.module("chat window manager"); @@ -15,17 +16,17 @@ QUnit.test("chat window does not fetch messages if hidden", async (assert) => { pyEnv["discuss.channel"].create([ { channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, { channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, { channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, ]); @@ -54,17 +55,17 @@ QUnit.test("click on hidden chat window should fetch its messages", async (asser pyEnv["discuss.channel"].create([ { channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, { channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, { channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, ]); diff --git a/addons/mail/static/tests/chat_window/chat_window_new_message_tests.js b/addons/mail/static/tests/chat_window/chat_window_new_message_tests.js index f7a64395532..6bfdaca8ef3 100644 --- a/addons/mail/static/tests/chat_window/chat_window_new_message_tests.js +++ b/addons/mail/static/tests/chat_window/chat_window_new_message_tests.js @@ -8,6 +8,8 @@ import { start, startServer, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { makeDeferred } from "@web/../tests/helpers/utils"; import { CHAT_WINDOW_END_GAP_WIDTH, @@ -81,13 +83,13 @@ QUnit.test( { name: "channel-1", channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }, { name: "channel-2", channel_member_ids: [ - [0, 0, { is_minimized: false, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: false, partner_id: pyEnv.currentPartnerId }), ], }, ]); @@ -163,7 +165,7 @@ QUnit.test( partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: partnerId }), ], channel_type: "chat", name: "Partner 131", diff --git a/addons/mail/static/tests/chat_window/chat_window_tests.js b/addons/mail/static/tests/chat_window/chat_window_tests.js index 1a9d8f9d8f0..66f778056a0 100644 --- a/addons/mail/static/tests/chat_window/chat_window_tests.js +++ b/addons/mail/static/tests/chat_window/chat_window_tests.js @@ -12,6 +12,8 @@ import { startServer, waitUntil, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { CHAT_WINDOW_END_GAP_WIDTH, CHAT_WINDOW_INBETWEEN_WIDTH, @@ -31,8 +33,8 @@ QUnit.test( const userId = pyEnv["res.users"].create({ partner_id: partnerId }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -57,7 +59,7 @@ QUnit.test( const pyEnv = await startServer(); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), ], }); patchUiSize({ size: SIZES.SM }); @@ -119,7 +121,7 @@ QUnit.test( const pyEnv = await startServer(); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { fold_state: "closed", partner_id: pyEnv.currentPartnerId }], + Command.create({ fold_state: "closed", partner_id: pyEnv.currentPartnerId }), ], }); patchUiSize({ size: SIZES.SM }); @@ -195,7 +197,7 @@ QUnit.test( const pyEnv = await startServer(); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { fold_state: "open", partner_id: pyEnv.currentPartnerId }], + Command.create({ fold_state: "open", partner_id: pyEnv.currentPartnerId }), ], }); patchUiSize({ size: SIZES.SM }); @@ -217,7 +219,9 @@ QUnit.test( QUnit.test("chat window: close on ESCAPE", async (assert) => { const pyEnv = await startServer(); pyEnv["discuss.channel"].create({ - channel_member_ids: [[0, 0, { is_minimized: true, partner_id: pyEnv.currentPartnerId }]], + channel_member_ids: [ + Command.create({ is_minimized: true, partner_id: pyEnv.currentPartnerId }), + ], }); await start({ mockRPC(route, args) { @@ -246,8 +250,8 @@ QUnit.test( pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId, is_minimized: true }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId, is_minimized: true }), + Command.create({ partner_id: partnerId }), ], }); await start(); @@ -264,7 +268,7 @@ QUnit.test( pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId, is_minimized: true }], + Command.create({ partner_id: pyEnv.currentPartnerId, is_minimized: true }), ], }); await start(); @@ -562,7 +566,7 @@ QUnit.test( partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -603,8 +607,8 @@ QUnit.test( }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -628,8 +632,8 @@ QUnit.test("chat window should open when receiving a new DM", async (assert) => const userId = pyEnv["res.users"].create({ partner_id: partnerId }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { is_pinned: false, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ is_pinned: false, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -653,8 +657,8 @@ QUnit.test("chat window should not open when receiving a new DM from odoobot", a const userId = pyEnv["res.users"].create({ partner_id: pyEnv.odoobotId }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { is_pinned: false, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: pyEnv.odoobotId }], + Command.create({ is_pinned: false, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: pyEnv.odoobotId }), ], channel_type: "chat", }); @@ -720,7 +724,7 @@ QUnit.test("chat window should remain folded when new message is received", asyn partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -833,7 +837,7 @@ QUnit.test( partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -977,7 +981,9 @@ QUnit.test("folded chat window should hide member-list and settings buttons", as QUnit.test("Chat window in mobile are not foldable", async (assert) => { const pyEnv = await startServer(); pyEnv["discuss.channel"].create({ - channel_member_ids: [[0, 0, { fold_state: "open", partner_id: pyEnv.currentPartnerId }]], + channel_member_ids: [ + Command.create({ fold_state: "open", partner_id: pyEnv.currentPartnerId }), + ], }); patchUiSize({ size: SIZES.SM }); await start(); diff --git a/addons/mail/static/tests/composer/composer_tests.js b/addons/mail/static/tests/composer/composer_tests.js index 87334d6f8e3..ca9f8a2a17c 100644 --- a/addons/mail/static/tests/composer/composer_tests.js +++ b/addons/mail/static/tests/composer/composer_tests.js @@ -13,6 +13,7 @@ import { pasteFiles, waitUntil, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; import { makeFakeNotificationService } from "@web/../tests/helpers/mock_services"; const { inputFiles } = file; @@ -354,8 +355,8 @@ QUnit.test("add an emoji after a partner mention", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "Mario Party", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { openDiscuss } = await start(); @@ -490,8 +491,8 @@ QUnit.test("leave command on chat", async (assert) => { const partnerId = pyEnv["res.partner"].create({ name: "Chuck Norris" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -533,8 +534,8 @@ QUnit.test( const partnerId = pyEnv["res.partner"].create({ name: "Marc Demo" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -606,8 +607,8 @@ QUnit.test("Select composer suggestion via Enter does not send the message", asy const channelId = pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { openDiscuss } = await start({ diff --git a/addons/mail/static/tests/composer/typing_tests.js b/addons/mail/static/tests/composer/typing_tests.js index 39aacd54f72..d7e497fa27c 100644 --- a/addons/mail/static/tests/composer/typing_tests.js +++ b/addons/mail/static/tests/composer/typing_tests.js @@ -8,6 +8,8 @@ import { start, startServer, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { LONG_TYPING, SHORT_TYPING } from "@mail/composer/composer"; import { OTHER_LONG_TYPING } from "@mail/core/messaging_service"; @@ -19,8 +21,8 @@ QUnit.test('receive other member typing status "is typing"', async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "channel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { env, openDiscuss } = await start(); @@ -46,8 +48,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "channel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { env, openDiscuss } = await start(); @@ -84,8 +86,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "channel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { advanceTime, env, openDiscuss } = await start({ hasTimeControl: true }); @@ -116,8 +118,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "channel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { advanceTime, env, openDiscuss } = await start({ hasTimeControl: true }); @@ -162,10 +164,10 @@ QUnit.test('receive several other members typing status "is typing"', async (ass const channelId = pyEnv["discuss.channel"].create({ name: "channel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], - [0, 0, { partner_id: partnerId_3 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), + Command.create({ partner_id: partnerId_3 }), ], }); const { env, openDiscuss } = await start(); @@ -327,8 +329,8 @@ QUnit.test("chat: correspondent is typing", async (assert) => { }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/core/open_chat_test.js b/addons/mail/static/tests/core/open_chat_test.js index 4a111c60ff0..7eba85867da 100644 --- a/addons/mail/static/tests/core/open_chat_test.js +++ b/addons/mail/static/tests/core/open_chat_test.js @@ -1,6 +1,8 @@ /* @odoo-module */ import { afterNextRender, start, startServer } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { makeFakeNotificationService } from "@web/../tests/helpers/mock_services"; QUnit.module("Open Chat test", {}); @@ -57,8 +59,12 @@ QUnit.test("openChat: open existing chat for user", async (assert) => { pyEnv["res.users"].create({ partner_id: partnerId }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId, fold_state: "open", is_minimized: true }], - [0, 0, { partner_id: partnerId }], + Command.create({ + partner_id: pyEnv.currentPartnerId, + fold_state: "open", + is_minimized: true, + }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/discuss/channel_invitation_tests.js b/addons/mail/static/tests/discuss/channel_invitation_tests.js index 2344da9c2da..1581879abc4 100644 --- a/addons/mail/static/tests/discuss/channel_invitation_tests.js +++ b/addons/mail/static/tests/discuss/channel_invitation_tests.js @@ -1,6 +1,7 @@ /* @odoo-module */ import { click, insertText, start, startServer } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; QUnit.module("channel invitation form"); @@ -16,8 +17,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "channel", }); @@ -45,8 +46,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), ], channel_type: "channel", }); @@ -70,7 +71,7 @@ QUnit.test("Invitation form should display channel group restriction", async (as }); const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", - channel_member_ids: [[0, 0, { partner_id: pyEnv.currentPartnerId }]], + channel_member_ids: [Command.create({ partner_id: pyEnv.currentPartnerId })], channel_type: "channel", group_public_id: groupId, }); @@ -98,8 +99,8 @@ QUnit.test("should be able to create a new group chat from an existing chat", as const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/discuss/channel_member_list_tests.js b/addons/mail/static/tests/discuss/channel_member_list_tests.js index 886a4fcc587..a2a0eee546e 100644 --- a/addons/mail/static/tests/discuss/channel_member_list_tests.js +++ b/addons/mail/static/tests/discuss/channel_member_list_tests.js @@ -1,6 +1,8 @@ /* @odoo-module */ import { click, start, startServer } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { createLocalId } from "@mail/utils/misc"; import { nextTick } from "@web/../tests/helpers/utils"; @@ -14,8 +16,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "channel", }); @@ -33,8 +35,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "channel", }); @@ -51,8 +53,8 @@ QUnit.test("should have correct members in member list", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "channel", }); @@ -72,8 +74,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "channel", }); @@ -91,8 +93,8 @@ QUnit.test("chat with member should be opened after clicking on channel member", const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "channel", }); @@ -111,7 +113,7 @@ QUnit.test( const channel_member_ids = []; for (let i = 0; i < 101; i++) { const partnerId = pyEnv["res.partner"].create({ name: "name" + i }); - channel_member_ids.push([0, 0, { partner_id: partnerId }]); + channel_member_ids.push(Command.create({ partner_id: partnerId })); } const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", @@ -131,7 +133,7 @@ QUnit.test("Load more button should load more members", async (assert) => { const channel_member_ids = []; for (let i = 0; i < 101; i++) { const partnerId = pyEnv["res.partner"].create({ name: "name" + i }); - channel_member_ids.push([0, 0, { partner_id: partnerId }]); + channel_member_ids.push(Command.create({ partner_id: partnerId })); } const channelId = pyEnv["discuss.channel"].create({ name: "TestChanel", @@ -168,8 +170,8 @@ QUnit.test("Channel member count update after user left", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "General", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { env, openDiscuss } = await start(); diff --git a/addons/mail/static/tests/discuss/crosstab/crosstab_tests.js b/addons/mail/static/tests/discuss/crosstab/crosstab_tests.js index c4320646b5c..236d7ed8866 100644 --- a/addons/mail/static/tests/discuss/crosstab/crosstab_tests.js +++ b/addons/mail/static/tests/discuss/crosstab/crosstab_tests.js @@ -1,6 +1,7 @@ /* @odoo-module */ import { click, start, startServer } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; QUnit.module("crosstab"); @@ -29,8 +30,8 @@ QUnit.test("Remove member from channel", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "General", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { env, openDiscuss } = await start(); diff --git a/addons/mail/static/tests/discuss_app/discuss_tests.js b/addons/mail/static/tests/discuss_app/discuss_tests.js index 424a17b8929..49beb9f4d42 100644 --- a/addons/mail/static/tests/discuss_app/discuss_tests.js +++ b/addons/mail/static/tests/discuss_app/discuss_tests.js @@ -2,6 +2,7 @@ import { TEST_USER_IDS } from "@bus/../tests/helpers/test_constants"; import { patchUiSize } from "@mail/../tests/helpers/patch_ui_size"; +import { Command } from "@mail/../tests/helpers/command"; import { isScrolledToBottom, @@ -369,22 +370,22 @@ QUnit.test("sidebar: chat im_status rendering", async (assert) => { pyEnv["discuss.channel"].create([ { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_3 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_3 }), ], channel_type: "chat", }, @@ -457,8 +458,8 @@ QUnit.test("sidebar: chat custom name", async (assert) => { const partnerId = pyEnv["res.partner"].create({ name: "Marc Demo" }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { custom_channel_name: "Marc", partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ custom_channel_name: "Marc", partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -738,7 +739,7 @@ QUnit.test("sidebar: chat rendering with unread counter", async (assert) => { const pyEnv = await startServer(); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 100, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 100, partner_id: pyEnv.currentPartnerId }), ], channel_type: "chat", }); @@ -1009,8 +1010,8 @@ QUnit.test("auto-focus composer on opening thread", async (assert) => { { name: "General" }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }, @@ -1168,8 +1169,8 @@ QUnit.test("should auto-pin chat when receiving a new DM", async (assert) => { const userId = pyEnv["res.users"].create({ partner_id: partnerId }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { is_pinned: false, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ is_pinned: false, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -1205,8 +1206,8 @@ QUnit.test("'Add Users' button should be displayed in the topbar of chats", asyn const partnerId = pyEnv["res.partner"].create({ name: "Marc Demo" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -1220,8 +1221,8 @@ QUnit.test("'Add Users' button should be displayed in the topbar of groups", asy const partnerId = pyEnv["res.partner"].create({ name: "Demo" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "group", }); @@ -1283,36 +1284,36 @@ QUnit.test( pyEnv["discuss.channel"].create([ { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_3 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_3 }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_4 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_4 }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: TEST_USER_IDS.odoobotId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: TEST_USER_IDS.odoobotId }), ], channel_type: "chat", }, @@ -1814,7 +1815,9 @@ QUnit.test( const pyEnv = await startServer(); pyEnv["discuss.channel"].create({ name: "General", - channel_member_ids: [[0, 0, { is_pinned: false, partner_id: pyEnv.currentPartnerId }]], + channel_member_ids: [ + Command.create({ is_pinned: false, partner_id: pyEnv.currentPartnerId }), + ], group_based_subscription: true, }); const { openDiscuss } = await start(); @@ -1886,7 +1889,7 @@ QUnit.test("Message shows up even if channel data is incomplete", async (assert) partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: correspondentPartnerId }], + Command.create({ partner_id: correspondentPartnerId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/discuss_app/im_status_tests.js b/addons/mail/static/tests/discuss_app/im_status_tests.js index 513af2f14b3..856d5c3e15e 100644 --- a/addons/mail/static/tests/discuss_app/im_status_tests.js +++ b/addons/mail/static/tests/discuss_app/im_status_tests.js @@ -2,6 +2,8 @@ import { UPDATE_BUS_PRESENCE_DELAY } from "@bus/im_status_service"; import { start, startServer, afterNextRender, click } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { createLocalId } from "@mail/utils/misc"; import { nextTick } from "@web/../tests/helpers/utils"; @@ -100,8 +102,8 @@ QUnit.test("show im status in messaging menu preview of chat", async (assert) => const partnerId = pyEnv["res.partner"].create({ name: "Demo", im_status: "online" }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/discuss_app/sidebar_tests.js b/addons/mail/static/tests/discuss_app/sidebar_tests.js index 53e774442ea..7ef9d62bc69 100644 --- a/addons/mail/static/tests/discuss_app/sidebar_tests.js +++ b/addons/mail/static/tests/discuss_app/sidebar_tests.js @@ -9,6 +9,8 @@ import { startServer, waitUntil, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { editInput, makeDeferred, nextTick } from "@web/../tests/helpers/utils"; import { makeFakeNotificationService } from "@web/../tests/helpers/mock_services"; @@ -242,8 +244,8 @@ QUnit.test("sidebar: basic chat rendering", async (assert) => { const partnerId = pyEnv["res.partner"].create({ name: "Demo" }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -284,7 +286,11 @@ QUnit.test("sidebar: open channel and leave it", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "General", channel_member_ids: [ - [0, 0, { fold_state: "open", is_minimized: true, partner_id: pyEnv.currentPartnerId }], + Command.create({ + fold_state: "open", + is_minimized: true, + partner_id: pyEnv.currentPartnerId, + }), ], }); const { openDiscuss } = await start({ @@ -332,8 +338,8 @@ QUnit.test("chat - channel should count unread message [REQUIRE FOCUS]", async ( }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -357,7 +363,7 @@ QUnit.test("mark channel as seen on last message visible [REQUIRE FOCUS]", async const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }), ], }); pyEnv["mail.message"].create({ @@ -498,7 +504,7 @@ QUnit.test( }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }), ], channel_type: "chat", }); @@ -518,7 +524,7 @@ QUnit.test( }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 10, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 10, partner_id: pyEnv.currentPartnerId }), ], channel_type: "chat", }); @@ -538,7 +544,7 @@ QUnit.test( }); pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }), ], channel_type: "chat", }); @@ -559,13 +565,19 @@ QUnit.test( pyEnv["discuss.channel"].create([ { channel_member_ids: [ - [0, 0, { message_unread_counter: 10, partner_id: pyEnv.currentPartnerId }], + Command.create({ + message_unread_counter: 10, + partner_id: pyEnv.currentPartnerId, + }), ], channel_type: "chat", }, { channel_member_ids: [ - [0, 0, { message_unread_counter: 20, partner_id: pyEnv.currentPartnerId }], + Command.create({ + message_unread_counter: 20, + partner_id: pyEnv.currentPartnerId, + }), ], channel_type: "chat", }, @@ -652,7 +664,7 @@ QUnit.test( async (assert) => { const pyEnv = await startServer(); pyEnv["discuss.channel"].create({ - channel_member_ids: [[0, 0, { partner_id: pyEnv.currentPartnerId }]], + channel_member_ids: [Command.create({ partner_id: pyEnv.currentPartnerId })], channel_type: "channel", group_public_id: false, name: "test", @@ -1002,8 +1014,8 @@ QUnit.test("chat - avatar: should have correct avatar", async (assert) => { }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -1033,7 +1045,7 @@ QUnit.test("chat should be sorted by last activity time [REQUIRE FOCUS]", async partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: demo_id }], + Command.create({ partner_id: demo_id }), ], channel_type: "chat", }, @@ -1047,7 +1059,7 @@ QUnit.test("chat should be sorted by last activity time [REQUIRE FOCUS]", async partner_id: pyEnv.currentPartnerId, }, ], - [0, 0, { partner_id: yoshi_id }], + Command.create({ partner_id: yoshi_id }), ], channel_type: "chat", }, @@ -1146,8 +1158,8 @@ QUnit.test("Group unread counter up to date after mention is marked as seen", as const partnerId = pyEnv["res.partner"].create({ name: "Chuck" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "group", }); diff --git a/addons/mail/static/tests/helpers/command.js b/addons/mail/static/tests/helpers/command.js new file mode 100644 index 00000000000..abf20dbed98 --- /dev/null +++ b/addons/mail/static/tests/helpers/command.js @@ -0,0 +1,51 @@ +/** @odoo-module */ + +export class Command { + /** + * @param {number} id + */ + static link(id) { + return [4, id, 0]; + } + + /** + * @param {number} id + */ + static unlink(id) { + return [3, id, 0]; + } + + /** + * @param {object} values + */ + static create(values) { + return [0, 0, values]; + } + + /** + * + * @param {number} id + * @param {object} values + */ + static update(id, values) { + return [1, id, values]; + } + + /** + * @param {object} values + */ + static delete(id) { + return [2, id, 0]; + } + + static clear() { + return [5, 0, 0]; + } + + /** + * @param {number[]} ids + */ + static set(ids) { + return [6, 0, ids]; + } +} diff --git a/addons/mail/static/tests/helpers/mock_server/models/discuss_channel.js b/addons/mail/static/tests/helpers/mock_server/models/discuss_channel.js index acde9dd30ac..2ee5e600f6c 100644 --- a/addons/mail/static/tests/helpers/mock_server/models/discuss_channel.js +++ b/addons/mail/static/tests/helpers/mock_server/models/discuss_channel.js @@ -6,6 +6,7 @@ import { MockServer } from "@web/../tests/helpers/mock_server"; import { datetime_to_str } from "web.time"; import { assignDefined } from "@mail/utils/misc"; import { formatDate } from "@web/core/l10n/dates"; +import { Command } from "@mail/../tests/helpers/command"; patch(MockServer.prototype, "mail/models/discuss_channel", { async _performRPC(route, args) { @@ -768,7 +769,9 @@ patch(MockServer.prototype, "mail/models/discuss_channel", { const partners = this.getRecords("res.partner", [["id", "in", partners_to]]); const id = this.pyEnv["discuss.channel"].create({ channel_type: "group", - channel_member_ids: partners.map((partner) => [0, 0, { partner_id: partner.id }]), + channel_member_ids: partners.map((partner) => + Command.create({ partner_id: partner.id }) + ), name: "", }); this._mockDiscussChannel_broadcast( diff --git a/addons/mail/static/tests/helpers/model_definitions_setup.js b/addons/mail/static/tests/helpers/model_definitions_setup.js index 6cdd83a39fd..9866ddcefcb 100644 --- a/addons/mail/static/tests/helpers/model_definitions_setup.js +++ b/addons/mail/static/tests/helpers/model_definitions_setup.js @@ -7,6 +7,7 @@ import { insertModelFields, insertRecords, } from "@bus/../tests/helpers/model_definitions_helpers"; +import { Command } from "@mail/../tests/helpers/command"; //-------------------------------------------------------------------------- // Models @@ -61,7 +62,7 @@ insertModelFields("discuss.channel", { avatarCacheKey: { string: "Avatar Cache Key", type: "datetime" }, channel_member_ids: { default() { - return [[0, 0, { partner_id: this.currentPartnerId }]]; + return [Command.create({ partner_id: this.currentPartnerId })]; }, }, channel_type: { default: "channel" }, diff --git a/addons/mail/static/tests/message/message_seen_indicator_tests.js b/addons/mail/static/tests/message/message_seen_indicator_tests.js index abc4dc34c17..3df7539db3c 100644 --- a/addons/mail/static/tests/message/message_seen_indicator_tests.js +++ b/addons/mail/static/tests/message/message_seen_indicator_tests.js @@ -1,6 +1,7 @@ /** @odoo-module **/ import { startServer, start, afterNextRender } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; QUnit.module("message_seen_indicator"); @@ -11,9 +12,9 @@ QUnit.test("rendering when just one has received the message", async (assert) => const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", // only chat channel have seen notification }); @@ -45,9 +46,9 @@ QUnit.test("rendering when everyone have received the message", async (assert) = const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", }); @@ -76,9 +77,9 @@ QUnit.test("rendering when just one has seen the message", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", }); @@ -114,9 +115,9 @@ QUnit.test("rendering when just one has seen & received the message", async (ass const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", }); @@ -148,9 +149,9 @@ QUnit.test("rendering when just everyone has seen the message", async (assert) = const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], channel_type: "chat", }); @@ -178,8 +179,8 @@ QUnit.test("'channel_fetch' notification received is correctly handled", async ( const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -212,8 +213,8 @@ QUnit.test("'channel_seen' notification received is correctly handled", async (a const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -248,8 +249,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -296,8 +297,8 @@ QUnit.test( name: "test", channel_type: "chat", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const messageId = pyEnv["mail.message"].create({ @@ -324,8 +325,8 @@ QUnit.test( name: "test", channel_type: "chat", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const [, messageId_2] = pyEnv["mail.message"].create([ @@ -367,8 +368,8 @@ QUnit.test( name: "test", channel_type: "chat", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const messageId = pyEnv["mail.message"].create({ diff --git a/addons/mail/static/tests/message/message_tests.js b/addons/mail/static/tests/message/message_tests.js index 1c741f4d7e7..f91118b3af3 100644 --- a/addons/mail/static/tests/message/message_tests.js +++ b/addons/mail/static/tests/message/message_tests.js @@ -9,6 +9,8 @@ import { nextAnimationFrame, waitUntil, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { deserializeDateTime } from "@web/core/l10n/dates"; const { DateTime } = luxon; import { @@ -642,8 +644,8 @@ QUnit.test("redirect to author (open chat)", async (assert) => { { name: "General" }, { channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }, @@ -668,7 +670,7 @@ QUnit.test("open chat from avatar should not work on self-authored messages", as const [channelId] = pyEnv["discuss.channel"].create([ { name: "General" }, { - channel_member_ids: [[0, 0, { partner_id: pyEnv.currentPartnerId }]], + channel_member_ids: [Command.create({ partner_id: pyEnv.currentPartnerId })], channel_type: "chat", }, ]); @@ -1273,8 +1275,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/messaging/messaging_tests.js b/addons/mail/static/tests/messaging/messaging_tests.js index db2690345d8..39de32a8707 100644 --- a/addons/mail/static/tests/messaging/messaging_tests.js +++ b/addons/mail/static/tests/messaging/messaging_tests.js @@ -7,6 +7,7 @@ import { start, startServer, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; QUnit.module("messaging"); @@ -18,8 +19,8 @@ QUnit.test( const userId = pyEnv["res.users"].create({ partner_id: partnerId }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -45,8 +46,8 @@ QUnit.test( const userId = pyEnv["res.users"].create({ partner_id: partnerId }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -72,8 +73,8 @@ QUnit.test( const partnerId = pyEnv["res.partner"].create({ name: "Dumbledore" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); diff --git a/addons/mail/static/tests/messaging_menu/messaging_menu_tests.js b/addons/mail/static/tests/messaging_menu/messaging_menu_tests.js index c125e5fe4f6..04c7718377e 100644 --- a/addons/mail/static/tests/messaging_menu/messaging_menu_tests.js +++ b/addons/mail/static/tests/messaging_menu/messaging_menu_tests.js @@ -8,6 +8,8 @@ import { startServer, waitUntil, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { makeFakeNotificationService } from "@web/../tests/helpers/mock_services"; import { patchWithCleanup, triggerHotkey } from "@web/../tests/helpers/utils"; import { patchBrowserNotification } from "@mail/../tests/helpers/patch_notifications"; @@ -317,8 +319,8 @@ QUnit.test("mark unread channel as read", async (assert) => { const partnerId = pyEnv["res.partner"].create({ name: "Demo" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const [messagId_1] = pyEnv["mail.message"].create([ @@ -356,7 +358,7 @@ QUnit.test("mark failure as read", async (assert) => { pyEnv["discuss.channel"].create({ message_ids: [messageId], channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId, seen_message_id: messageId }], + Command.create({ partner_id: pyEnv.currentPartnerId, seen_message_id: messageId }), ], }); pyEnv["mail.notification"].create({ @@ -841,7 +843,7 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "Test", channel_member_ids: [ - [0, 0, { message_unread_counter: 2, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 2, partner_id: pyEnv.currentPartnerId }), ], }); const messageId = pyEnv["mail.message"].create({ @@ -882,8 +884,8 @@ QUnit.test("chat should show unread counter on receiving new messages", async (a const channelId = pyEnv["discuss.channel"].create({ channel_type: "chat", channel_member_ids: [ - [0, 0, { message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); await start(); diff --git a/addons/mail/static/tests/suggestion/suggestion_tests.js b/addons/mail/static/tests/suggestion/suggestion_tests.js index 2127ad2fab8..be5e35d53cf 100644 --- a/addons/mail/static/tests/suggestion/suggestion_tests.js +++ b/addons/mail/static/tests/suggestion/suggestion_tests.js @@ -2,6 +2,8 @@ import { Composer } from "@mail/composer/composer"; import { click, insertText, start, startServer } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; + import { makeDeferred, nextTick, @@ -34,9 +36,9 @@ QUnit.test('display partner mention suggestions on typing "@"', async (assert) = const channelId = pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], }); const { openDiscuss } = await start(); @@ -63,9 +65,9 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], }); const { openDiscuss } = await start(); @@ -99,8 +101,8 @@ QUnit.test("show other channel member in @ mention", async (assert) => { const channelId = pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { openDiscuss } = await start(); @@ -118,8 +120,8 @@ QUnit.test("select @ mention insert mention text in composer", async (assert) => const channelId = pyEnv["discuss.channel"].create({ name: "general", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { openDiscuss } = await start(); diff --git a/addons/mail/static/tests/thread/thread_tests.js b/addons/mail/static/tests/thread/thread_tests.js index fd98f8ae810..8f750d9b3dc 100644 --- a/addons/mail/static/tests/thread/thread_tests.js +++ b/addons/mail/static/tests/thread/thread_tests.js @@ -13,6 +13,7 @@ import { startServer, waitUntil, } from "@mail/../tests/helpers/test_utils"; +import { Command } from "@mail/../tests/helpers/command"; import { makeDeferred, @@ -240,8 +241,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", }); @@ -429,7 +430,7 @@ QUnit.test( const pyEnv = await startServer(); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }), ], channel_type: "channel", name: "General", @@ -470,7 +471,7 @@ QUnit.test("new messages separator on receiving new message [REQUIRE FOCUS]", as }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }), ], channel_type: "channel", name: "General", @@ -513,7 +514,7 @@ QUnit.test("no new messages separator on posting message (no message history)", const pyEnv = await startServer(); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }], + Command.create({ message_unread_counter: 0, partner_id: pyEnv.currentPartnerId }), ], channel_type: "channel", name: "General", @@ -538,8 +539,8 @@ QUnit.test("Mention a partner with special character (e.g. apostrophe ')", async const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { openDiscuss } = await start(); @@ -569,9 +570,9 @@ QUnit.test("mention 2 different partners that have the same name", async (assert const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId_1 }], - [0, 0, { partner_id: partnerId_2 }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId_1 }), + Command.create({ partner_id: partnerId_2 }), ], }); const { openDiscuss } = await start(); @@ -669,8 +670,8 @@ QUnit.test( const channelId = pyEnv["discuss.channel"].create({ name: "test", channel_member_ids: [ - [0, 0, { partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], }); const { openDiscuss } = await start(); @@ -960,8 +961,8 @@ QUnit.test("can be marked as read while loading", async function (assert) { const partnerId = pyEnv["res.partner"].create({ name: "Demo" }); const channelId = pyEnv["discuss.channel"].create({ channel_member_ids: [ - [0, 0, { message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }], - [0, 0, { partner_id: partnerId }], + Command.create({ message_unread_counter: 1, partner_id: pyEnv.currentPartnerId }), + Command.create({ partner_id: partnerId }), ], channel_type: "chat", });