Split out MUC tests
This commit is contained in:
parent
4047d619a1
commit
dff5f485c9
|
@ -41,7 +41,6 @@ module.exports = function(config) {
|
||||||
{ pattern: "src/headless/tests/eventemitter.js", type: 'module' },
|
{ pattern: "src/headless/tests/eventemitter.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/bookmark-views/tests/bookmarks.js", type: 'module' },
|
{ pattern: "src/plugins/bookmark-views/tests/bookmarks.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/chatbox.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/chatbox.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/unreads.js", type: 'module' },
|
|
||||||
{ pattern: "src/plugins/chatview/tests/corrections.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/corrections.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/emojis.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/emojis.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/http-file-upload.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/http-file-upload.js", type: 'module' },
|
||||||
|
@ -55,6 +54,7 @@ module.exports = function(config) {
|
||||||
{ pattern: "src/plugins/chatview/tests/receipts.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/receipts.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/spoilers.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/spoilers.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/styling.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/styling.js", type: 'module' },
|
||||||
|
{ pattern: "src/plugins/chatview/tests/unreads.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/chatview/tests/xss.js", type: 'module' },
|
{ pattern: "src/plugins/chatview/tests/xss.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/controlbox/tests/controlbox.js", type: 'module' },
|
{ pattern: "src/plugins/controlbox/tests/controlbox.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/controlbox/tests/login.js", type: 'module' },
|
{ pattern: "src/plugins/controlbox/tests/login.js", type: 'module' },
|
||||||
|
@ -69,6 +69,7 @@ module.exports = function(config) {
|
||||||
{ pattern: "src/plugins/muc-views/tests/hats.js", type: 'module' },
|
{ pattern: "src/plugins/muc-views/tests/hats.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/muc-views/tests/http-file-upload.js", type: 'module' },
|
{ pattern: "src/plugins/muc-views/tests/http-file-upload.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/muc-views/tests/markers.js", type: 'module' },
|
{ pattern: "src/plugins/muc-views/tests/markers.js", type: 'module' },
|
||||||
|
{ pattern: "src/plugins/muc-views/tests/me-messages.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/muc-views/tests/mentions.js", type: 'module' },
|
{ pattern: "src/plugins/muc-views/tests/mentions.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/muc-views/tests/modtools.js", type: 'module' },
|
{ pattern: "src/plugins/muc-views/tests/modtools.js", type: 'module' },
|
||||||
{ pattern: "src/plugins/muc-views/tests/muc-api.js", type: 'module' },
|
{ pattern: "src/plugins/muc-views/tests/muc-api.js", type: 'module' },
|
||||||
|
|
|
@ -2,58 +2,6 @@
|
||||||
|
|
||||||
const { u, sizzle, $msg } = converse.env;
|
const { u, sizzle, $msg } = converse.env;
|
||||||
|
|
||||||
describe("A Groupchat Message", function () {
|
|
||||||
|
|
||||||
it("supports the /me command", mock.initConverse([], {}, async function (_converse) {
|
|
||||||
await mock.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
|
|
||||||
await u.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
|
|
||||||
await mock.waitForRoster(_converse, 'current');
|
|
||||||
await mock.openAndEnterChatRoom(_converse, 'lounge@montague.lit', 'romeo');
|
|
||||||
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
|
||||||
if (!view.querySelectorAll('.chat-area').length) {
|
|
||||||
view.renderChatArea();
|
|
||||||
}
|
|
||||||
let message = '/me is tired';
|
|
||||||
const nick = mock.chatroom_names[0];
|
|
||||||
let msg = $msg({
|
|
||||||
'from': 'lounge@montague.lit/'+nick,
|
|
||||||
'id': u.getUniqueId(),
|
|
||||||
'to': 'romeo@montague.lit',
|
|
||||||
'type': 'groupchat'
|
|
||||||
}).c('body').t(message).tree();
|
|
||||||
await view.model.handleMessageStanza(msg);
|
|
||||||
await u.waitUntil(() => sizzle('.chat-msg:last .chat-msg__text', view).pop());
|
|
||||||
await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.trim() === 'is tired');
|
|
||||||
expect(view.querySelector('.chat-msg__author').textContent.includes('**Dyon van de Wege')).toBeTruthy();
|
|
||||||
|
|
||||||
message = '/me is as well';
|
|
||||||
msg = $msg({
|
|
||||||
from: 'lounge@montague.lit/Romeo Montague',
|
|
||||||
id: u.getUniqueId(),
|
|
||||||
to: 'romeo@montague.lit',
|
|
||||||
type: 'groupchat'
|
|
||||||
}).c('body').t(message).tree();
|
|
||||||
await view.model.handleMessageStanza(msg);
|
|
||||||
await u.waitUntil(() => view.querySelectorAll('.chat-msg').length === 2);
|
|
||||||
await u.waitUntil(() => Array.from(view.querySelectorAll('.chat-msg__text')).pop().textContent.trim() === 'is as well');
|
|
||||||
expect(sizzle('.chat-msg__author:last', view).pop().textContent.includes('**Romeo Montague')).toBeTruthy();
|
|
||||||
|
|
||||||
// Check rendering of a mention inside a me message
|
|
||||||
const msg_text = "/me mentions romeo";
|
|
||||||
msg = $msg({
|
|
||||||
from: 'lounge@montague.lit/gibson',
|
|
||||||
id: u.getUniqueId(),
|
|
||||||
to: 'romeo@montague.lit',
|
|
||||||
type: 'groupchat'
|
|
||||||
}).c('body').t(msg_text).up()
|
|
||||||
.c('reference', {'xmlns':'urn:xmpp:reference:0', 'begin':'13', 'end':'19', 'type':'mention', 'uri':'xmpp:romeo@montague.lit'}).nodeTree;
|
|
||||||
await view.model.handleMessageStanza(msg);
|
|
||||||
await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length === 3);
|
|
||||||
await u.waitUntil(() => sizzle('.chat-msg__text:last', view).pop().innerHTML.replace(/<!-.*?->/g, '') ===
|
|
||||||
'mentions <span class="mention mention--self badge badge-info">romeo</span>');
|
|
||||||
}));
|
|
||||||
});
|
|
||||||
|
|
||||||
describe("A Message", function () {
|
describe("A Message", function () {
|
||||||
|
|
||||||
it("supports the /me command", mock.initConverse([], {}, async function (_converse) {
|
it("supports the /me command", mock.initConverse([], {}, async function (_converse) {
|
||||||
|
|
56
src/plugins/muc-views/tests/me-messages.js
Normal file
56
src/plugins/muc-views/tests/me-messages.js
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
/*global mock, converse */
|
||||||
|
|
||||||
|
const { u, sizzle, $msg } = converse.env;
|
||||||
|
|
||||||
|
|
||||||
|
describe("A Groupchat Message", function () {
|
||||||
|
|
||||||
|
it("supports the /me command", mock.initConverse([], {}, async function (_converse) {
|
||||||
|
await mock.waitUntilDiscoConfirmed(_converse, 'montague.lit', [], ['vcard-temp']);
|
||||||
|
await u.waitUntil(() => _converse.xmppstatus.vcard.get('fullname'));
|
||||||
|
await mock.waitForRoster(_converse, 'current');
|
||||||
|
await mock.openAndEnterChatRoom(_converse, 'lounge@montague.lit', 'romeo');
|
||||||
|
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
||||||
|
if (!view.querySelectorAll('.chat-area').length) {
|
||||||
|
view.renderChatArea();
|
||||||
|
}
|
||||||
|
let message = '/me is tired';
|
||||||
|
const nick = mock.chatroom_names[0];
|
||||||
|
let msg = $msg({
|
||||||
|
'from': 'lounge@montague.lit/'+nick,
|
||||||
|
'id': u.getUniqueId(),
|
||||||
|
'to': 'romeo@montague.lit',
|
||||||
|
'type': 'groupchat'
|
||||||
|
}).c('body').t(message).tree();
|
||||||
|
await view.model.handleMessageStanza(msg);
|
||||||
|
await u.waitUntil(() => sizzle('.chat-msg:last .chat-msg__text', view).pop());
|
||||||
|
await u.waitUntil(() => view.querySelector('.chat-msg__text').textContent.trim() === 'is tired');
|
||||||
|
expect(view.querySelector('.chat-msg__author').textContent.includes('**Dyon van de Wege')).toBeTruthy();
|
||||||
|
|
||||||
|
message = '/me is as well';
|
||||||
|
msg = $msg({
|
||||||
|
from: 'lounge@montague.lit/Romeo Montague',
|
||||||
|
id: u.getUniqueId(),
|
||||||
|
to: 'romeo@montague.lit',
|
||||||
|
type: 'groupchat'
|
||||||
|
}).c('body').t(message).tree();
|
||||||
|
await view.model.handleMessageStanza(msg);
|
||||||
|
await u.waitUntil(() => view.querySelectorAll('.chat-msg').length === 2);
|
||||||
|
await u.waitUntil(() => Array.from(view.querySelectorAll('.chat-msg__text')).pop().textContent.trim() === 'is as well');
|
||||||
|
expect(sizzle('.chat-msg__author:last', view).pop().textContent.includes('**Romeo Montague')).toBeTruthy();
|
||||||
|
|
||||||
|
// Check rendering of a mention inside a me message
|
||||||
|
const msg_text = "/me mentions romeo";
|
||||||
|
msg = $msg({
|
||||||
|
from: 'lounge@montague.lit/gibson',
|
||||||
|
id: u.getUniqueId(),
|
||||||
|
to: 'romeo@montague.lit',
|
||||||
|
type: 'groupchat'
|
||||||
|
}).c('body').t(msg_text).up()
|
||||||
|
.c('reference', {'xmlns':'urn:xmpp:reference:0', 'begin':'13', 'end':'19', 'type':'mention', 'uri':'xmpp:romeo@montague.lit'}).nodeTree;
|
||||||
|
await view.model.handleMessageStanza(msg);
|
||||||
|
await u.waitUntil(() => view.querySelectorAll('.chat-msg__text').length === 3);
|
||||||
|
await u.waitUntil(() => sizzle('.chat-msg__text:last', view).pop().innerHTML.replace(/<!-.*?->/g, '') ===
|
||||||
|
'mentions <span class="mention mention--self badge badge-info">romeo</span>');
|
||||||
|
}));
|
||||||
|
});
|
Loading…
Reference in New Issue
Block a user