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
+