From c739d31ab28aa3443fdb70a2e214962281195d43 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Fri, 7 Feb 2025 09:57:07 +0200 Subject: [PATCH] Fix tests --- .../chatview/tests/deprecated-retractions.js | 4 +- src/plugins/chatview/tests/retractions.js | 61 ++----------------- .../muc-views/tests/deprecated-retractions.js | 21 +++---- src/plugins/muc-views/tests/retractions.js | 36 +++++------ 4 files changed, 34 insertions(+), 88 deletions(-) diff --git a/src/plugins/chatview/tests/deprecated-retractions.js b/src/plugins/chatview/tests/deprecated-retractions.js index 8b1fdef3f8..8a1e4ff443 100644 --- a/src/plugins/chatview/tests/deprecated-retractions.js +++ b/src/plugins/chatview/tests/deprecated-retractions.js @@ -47,8 +47,8 @@ describe('A received chat message', function () { const message = view.model.messages.at(0); expect(message.get('retracted')).toBeTruthy(); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(msg_el.textContent.trim()).toBe('Mercutio has removed this message'); + const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(msg_el.firstElementChild.textContent.trim()).toBe('Mercutio has removed a message'); }) ); }); diff --git a/src/plugins/chatview/tests/retractions.js b/src/plugins/chatview/tests/retractions.js index 370a6b70ae..e1bfbb700d 100644 --- a/src/plugins/chatview/tests/retractions.js +++ b/src/plugins/chatview/tests/retractions.js @@ -47,8 +47,8 @@ describe('A sent chat message', function () { expect(message.get('retracted')).toBeTruthy(); expect(message.get('editable')).toBeFalsy(); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(el.textContent.trim()).toBe('You have removed this message'); + const el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(el.firstElementChild.textContent.trim()).toBe('You have removed a message'); }) ); }); @@ -96,8 +96,8 @@ describe('A received chat message', function () { const message = view.model.messages.at(0); expect(message.get('retracted')).toBeTruthy(); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(msg_el.textContent.trim()).toBe('Mercutio has removed this message'); + const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(msg_el.firstElementChild.textContent.trim()).toBe('Mercutio has removed a message'); }) ); @@ -142,8 +142,8 @@ describe('A received chat message', function () { const message = view.model.messages.at(0); expect(message.get('retracted')).toBeTruthy(); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(msg_el.textContent.trim()).toBe('Mercutio has removed this message'); + const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(msg_el.firstElementChild.textContent.trim()).toBe('Mercutio has removed a message'); }) ); }); @@ -357,52 +357,3 @@ describe('A Received Chat Message', function () { }) ); }); - -describe('A Sent Chat Message', function () { - it( - 'can be retracted by its author', - mock.initConverse(['chatBoxesFetched'], { vcard: { nickname: '' } }, async function (_converse) { - await mock.waitForRoster(_converse, 'current', 1); - const contact_jid = mock.cur_names[0].replace(/ /g, '.').toLowerCase() + '@montague.lit'; - const view = await mock.openChatBoxFor(_converse, contact_jid); - - view.model.sendMessage({ 'body': 'hello world' }); - await u.waitUntil(() => view.querySelectorAll('.chat-msg').length === 1); - - const message = view.model.messages.at(0); - expect(view.model.messages.length).toBe(1); - expect(message.get('retracted')).toBeFalsy(); - expect(message.get('editable')).toBeTruthy(); - - const retract_button = await u.waitUntil(() => - view.querySelector('.chat-msg__content .chat-msg__action-retract') - ); - retract_button.click(); - await u.waitUntil(() => u.isVisible(document.querySelector('#converse-modals .modal'))); - const submit_button = document.querySelector('#converse-modals .modal button[type="submit"]'); - submit_button.click(); - - const sent_stanzas = _converse.api.connection.get().sent_stanzas; - await u.waitUntil(() => view.querySelectorAll('.chat-msg--retracted').length === 1); - - const msg_obj = view.model.messages.at(0); - const retraction_stanza = await u.waitUntil(() => - sent_stanzas.filter((s) => s.querySelector('message retract')).pop() - ); - expect(retraction_stanza).toEqualStanza(stx` - - - /me retracted a message - - - `); - - expect(view.model.messages.length).toBe(1); - expect(message.get('retracted')).toBeTruthy(); - expect(message.get('editable')).toBeFalsy(); - expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(el.textContent.trim()).toBe('You have removed this message'); - }) - ); -}); diff --git a/src/plugins/muc-views/tests/deprecated-retractions.js b/src/plugins/muc-views/tests/deprecated-retractions.js index f3821cebc7..cf049eeadd 100644 --- a/src/plugins/muc-views/tests/deprecated-retractions.js +++ b/src/plugins/muc-views/tests/deprecated-retractions.js @@ -286,9 +286,8 @@ describe("Deprecated Message Retractions", function () { const message = view.model.messages.at(1); expect(message.get('retracted')).toBeTruthy(); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(msg_el.textContent.trim()).toBe('Mercutio has removed this message'); - expect(u.hasClass('chat-msg--followup', view.querySelector('.chat-msg--retracted'))).toBe(true); + const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(msg_el.firstElementChild.textContent.trim()).toBe('Mercutio has removed a message'); })); }); @@ -333,8 +332,8 @@ describe("Deprecated Message Retractions", function () { expect(view.model.messages.at(0).get('retracted')).toBeTruthy(); expect(view.model.messages.at(0).get('editable')).toBe(false); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message'); - expect(msg_el.textContent.trim()).toBe('eve has removed this message'); + const msg_el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(msg_el.firstElementChild.textContent.trim()).toBe('eve has removed a message'); expect(msg_el.querySelector('.chat-msg--retracted q')).toBe(null); })); @@ -450,8 +449,8 @@ describe("Deprecated Message Retractions", function () { expect(await view.model.handleRetraction.calls.all()[2].returnValue).toBe(true); await u.waitUntil(() => view.querySelectorAll('.chat-msg').length === 2); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const el = view.querySelector('.chat-msg--retracted .chat-msg__message div'); - expect(el.textContent.trim()).toBe('Mercutio has removed this message'); + const el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(el.firstElementChild.textContent.trim()).toBe('Mercutio has removed a message'); expect(u.hasClass('chat-msg--followup', el.parentElement)).toBe(false); })); @@ -528,8 +527,8 @@ describe("Deprecated Message Retractions", function () { await u.waitUntil(() => view.querySelectorAll('.chat-msg').length); expect(view.querySelectorAll('.chat-msg').length).toBe(1); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const el = view.querySelector('.chat-msg--retracted .chat-msg__message div'); - expect(el.textContent.trim()).toBe('eve has removed this message'); + const el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(el.firstElementChild.textContent.trim()).toBe('eve has removed a message'); })); it("may be returned as a tombstone moderated groupchat message", @@ -615,8 +614,8 @@ describe("Deprecated Message Retractions", function () { expect(view.querySelectorAll('.chat-msg').length).toBe(1); expect(view.querySelectorAll('.chat-msg--retracted').length).toBe(1); - const el = view.querySelector('.chat-msg--retracted .chat-msg__message div'); - expect(el.textContent.trim()).toBe('A moderator has removed this message'); + const el = view.querySelector('.chat-msg--retracted .chat-msg__message .retraction'); + expect(el.firstElementChild.textContent.trim()).toBe('A moderator has removed a message'); const qel = view.querySelector('.chat-msg--retracted .chat-msg__message q'); expect(qel.textContent.trim()).toBe('This message contains inappropriate content'); })); diff --git a/src/plugins/muc-views/tests/retractions.js b/src/plugins/muc-views/tests/retractions.js index e7fd4f2845..cdfc2164a1 100644 --- a/src/plugins/muc-views/tests/retractions.js +++ b/src/plugins/muc-views/tests/retractions.js @@ -616,12 +616,11 @@ describe("Message Retractions", function () { from="${muc_jid}" to="${muc_jid}/romeo" xmlns="jabber:client"> - - - + + + ${reason} - - + `; await view.model.handleMessageStanza(retraction); expect(view.model.messages.length).toBe(1); @@ -749,8 +748,7 @@ describe("Message Retractions", function () { - - + @@ -765,9 +763,9 @@ describe("Message Retractions", function () { - - - + + + /me retracted a previous message, but it's unsupported by your client. @@ -826,10 +824,10 @@ describe("Message Retractions", function () { - - - This message contains inappropriate content - + + + This message contains inappropriate content for this forum + @@ -844,12 +842,10 @@ describe("Message Retractions", function () { - - - - This message contains inappropriate content - - + + + This message contains inappropriate content +