|
@@ -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`
|
|
|
- <message id="${retraction_stanza.getAttribute('id')}" to="${contact_jid}" type="chat" xmlns="jabber:client">
|
|
|
- <retract id="${msg_obj.get('origin_id')}" xmlns="urn:xmpp:message-retract:1"/>
|
|
|
- <body>/me retracted a message</body>
|
|
|
- <store xmlns="urn:xmpp:hints"/>
|
|
|
- <fallback xmlns="urn:xmpp:fallback:0" for="urn:xmpp:message-retract:1" />
|
|
|
- </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');
|
|
|
- })
|
|
|
- );
|
|
|
-});
|