From 9dbec7af98d5fe547b76d0cb7bc11348b60a5285 Mon Sep 17 00:00:00 2001 From: Xavier Dubuc Date: Fri, 2 Oct 2020 09:42:58 +0000 Subject: [IMP] mail: test new message separator in some edge cases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit task-2348620 closes odoo/odoo#59279 X-original-commit: 53ed641a60e6d572a12d96406b64af5b55fe177e Signed-off-by: Alexandre Kühn (aku) --- .../components/thread_view/thread_view_tests.js | 29 +++++++++++++++------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'addons/mail/static/src/components/thread_view/thread_view_tests.js') diff --git a/addons/mail/static/src/components/thread_view/thread_view_tests.js b/addons/mail/static/src/components/thread_view/thread_view_tests.js index 9dc5145c121..320512a0f8c 100644 --- a/addons/mail/static/src/components/thread_view/thread_view_tests.js +++ b/addons/mail/static/src/components/thread_view/thread_view_tests.js @@ -426,7 +426,8 @@ QUnit.test('show message subject if thread is mailing channel', async function ( ); }); -QUnit.test('new messages separator on posting message', async function (assert) { +QUnit.test('[technical] new messages separator on posting message', async function (assert) { + // technical as we need to remove focus from text input to avoid `channel_seen` call assert.expect(4); this.data['mail.channel'].records = [{ @@ -434,8 +435,14 @@ QUnit.test('new messages separator on posting message', async function (assert) id: 20, is_pinned: true, message_unread_counter: 0, + seen_message_id: 10, name: "General", }]; + this.data['mail.message'].records.push({ + body: "first message", + channel_ids: [20], + id: 10, + }); await this.start(); const thread = this.env.models['mail.thread'].findFromIdentifyingData({ id: 20, @@ -447,10 +454,10 @@ QUnit.test('new messages separator on posting message', async function (assert) }); await this.createThreadViewComponent(threadViewer.threadView, { hasComposer: true }); - assert.containsNone( + assert.containsOnce( document.body, - '.o_MessageList_message', - "should have no messages" + '.o_Message', + "should display one message in thread initially" ); assert.containsNone( document.body, @@ -460,13 +467,17 @@ QUnit.test('new messages separator on posting message', async function (assert) document.querySelector('.o_ComposerTextInput_textarea').focus(); await afterNextRender(() => document.execCommand('insertText', false, "hey !")); - await afterNextRender(() => - document.querySelector('.o_Composer_buttonSend').click() - ); - assert.containsOnce( + await afterNextRender(() => { + // need to remove focus from text area to avoid channel_seen + document.querySelector('.o_Composer_buttonSend').focus(); + document.querySelector('.o_Composer_buttonSend').click(); + + }); + assert.containsN( document.body, '.o_Message', - "should have the message current partner just posted" + 2, + "should display 2 messages (initial & newly posted), after posting a message" ); assert.containsNone( document.body, -- cgit v1.2.3