|
@@ -13,7 +13,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
describe("The \"rooms\" API", function () {
|
|
describe("The \"rooms\" API", function () {
|
|
|
|
|
|
- fit("has a method 'close' which closes rooms by JID or all rooms when called with no arguments",
|
|
|
|
|
|
+ it("has a method 'close' which closes rooms by JID or all rooms when called with no arguments",
|
|
mock.initConverse([], {}, async function (done, _converse) {
|
|
mock.initConverse([], {}, async function (done, _converse) {
|
|
|
|
|
|
await mock.openAndEnterChatRoom(_converse, 'lounge@montague.lit', 'romeo');
|
|
await mock.openAndEnterChatRoom(_converse, 'lounge@montague.lit', 'romeo');
|
|
@@ -51,7 +51,8 @@ describe("Groupchats", function () {
|
|
mock.initConverse([], {}, async function (done, _converse) {
|
|
mock.initConverse([], {}, async function (done, _converse) {
|
|
|
|
|
|
await mock.waitForRoster(_converse, 'current');
|
|
await mock.waitForRoster(_converse, 'current');
|
|
- await u.waitUntil(() => _converse.rosterview.querySelectorAll('.roster-group .group-toggle').length, 300);
|
|
|
|
|
|
+ const rosterview = document.querySelector('converse-roster');
|
|
|
|
+ await u.waitUntil(() => rosterview.querySelectorAll('.roster-group .group-toggle').length, 300);
|
|
let muc_jid = 'chillout@montague.lit';
|
|
let muc_jid = 'chillout@montague.lit';
|
|
await mock.openAndEnterChatRoom(_converse, muc_jid, 'romeo');
|
|
await mock.openAndEnterChatRoom(_converse, muc_jid, 'romeo');
|
|
let room = await _converse.api.rooms.get(muc_jid);
|
|
let room = await _converse.api.rooms.get(muc_jid);
|
|
@@ -103,7 +104,8 @@ describe("Groupchats", function () {
|
|
let chatroomview, IQ_id;
|
|
let chatroomview, IQ_id;
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
await mock.waitForRoster(_converse, 'current');
|
|
await mock.waitForRoster(_converse, 'current');
|
|
- await u.waitUntil(() => _converse.rosterview.querySelectorAll('.roster-group .group-toggle').length);
|
|
|
|
|
|
+ const rosterview = document.querySelector('converse-roster');
|
|
|
|
+ await u.waitUntil(() => rosterview.querySelectorAll('.roster-group .group-toggle').length);
|
|
|
|
|
|
let room = await _converse.api.rooms.open(jid);
|
|
let room = await _converse.api.rooms.open(jid);
|
|
// Test on groupchat that's not yet open
|
|
// Test on groupchat that's not yet open
|
|
@@ -196,7 +198,7 @@ describe("Groupchats", function () {
|
|
expect(_converse.connection.sendIQ).toHaveBeenCalled();
|
|
expect(_converse.connection.sendIQ).toHaveBeenCalled();
|
|
|
|
|
|
const IQ_stanzas = _converse.connection.IQ_stanzas;
|
|
const IQ_stanzas = _converse.connection.IQ_stanzas;
|
|
- const iq = IQ_stanzas.filter(s => s.querySelector(`query[xmlns="${Strophe.NS.MUC_OWNER}"]`)).pop();
|
|
|
|
|
|
+ const iq = await u.waitUntil(() => IQ_stanzas.filter(s => s.querySelector(`query[xmlns="${Strophe.NS.MUC_OWNER}"]`)).pop());
|
|
expect(Strophe.serialize(iq)).toBe(
|
|
expect(Strophe.serialize(iq)).toBe(
|
|
`<iq id="${iq.getAttribute('id')}" to="room@conference.example.org" type="get" xmlns="jabber:client">`+
|
|
`<iq id="${iq.getAttribute('id')}" to="room@conference.example.org" type="get" xmlns="jabber:client">`+
|
|
`<query xmlns="http://jabber.org/protocol/muc#owner"/></iq>`);
|
|
`<query xmlns="http://jabber.org/protocol/muc#owner"/></iq>`);
|
|
@@ -378,14 +380,14 @@ describe("Groupchats", function () {
|
|
'time': '2021-02-02T12:00:00Z'
|
|
'time': '2021-02-02T12:00:00Z'
|
|
});
|
|
});
|
|
expect(view.model.session.get('connection_status')).toBe(converse.ROOMSTATUS.NICKNAME_REQUIRED);
|
|
expect(view.model.session.get('connection_status')).toBe(converse.ROOMSTATUS.NICKNAME_REQUIRED);
|
|
- await u.waitUntil(() => view.el.querySelectorAll('converse-chat-message').length === 1);
|
|
|
|
|
|
+ await u.waitUntil(() => view.querySelectorAll('converse-chat-message').length === 1);
|
|
|
|
|
|
const sel = 'converse-message-history converse-chat-message .chat-msg__text';
|
|
const sel = 'converse-message-history converse-chat-message .chat-msg__text';
|
|
- await u.waitUntil(() => view.el.querySelector(sel)?.textContent.trim());
|
|
|
|
- expect(view.el.querySelector(sel).textContent.trim()).toBe('Hello world')
|
|
|
|
|
|
+ await u.waitUntil(() => view.querySelector(sel)?.textContent.trim());
|
|
|
|
+ expect(view.querySelector(sel).textContent.trim()).toBe('Hello world')
|
|
|
|
|
|
- view.el.querySelector('[name="nick"]').value = nick;
|
|
|
|
- view.el.querySelector('.muc-nickname-form input[type="submit"]').click();
|
|
|
|
|
|
+ view.querySelector('[name="nick"]').value = nick;
|
|
|
|
+ view.querySelector('.muc-nickname-form input[type="submit"]').click();
|
|
_converse.connection.IQ_stanzas = [];
|
|
_converse.connection.IQ_stanzas = [];
|
|
await mock.getRoomFeatures(_converse, muc_jid);
|
|
await mock.getRoomFeatures(_converse, muc_jid);
|
|
await u.waitUntil(() => view.model.session.get('connection_status') === converse.ROOMSTATUS.CONNECTING);
|
|
await u.waitUntil(() => view.model.session.get('connection_status') === converse.ROOMSTATUS.CONNECTING);
|
|
@@ -1432,6 +1434,7 @@ describe("Groupchats", function () {
|
|
}));
|
|
}));
|
|
|
|
|
|
it("can be configured if you're its owner", mock.initConverse(['chatBoxesFetched'], {}, async function (done, _converse) {
|
|
it("can be configured if you're its owner", mock.initConverse(['chatBoxesFetched'], {}, async function (done, _converse) {
|
|
|
|
+
|
|
let sent_IQ, IQ_id;
|
|
let sent_IQ, IQ_id;
|
|
const sendIQ = _converse.connection.sendIQ;
|
|
const sendIQ = _converse.connection.sendIQ;
|
|
spyOn(_converse.connection, 'sendIQ').and.callFake(function (iq, callback, errback) {
|
|
spyOn(_converse.connection, 'sendIQ').and.callFake(function (iq, callback, errback) {
|
|
@@ -2722,7 +2725,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
_converse.connection._dataRecv(mock.createRequest(presence));
|
|
_converse.connection._dataRecv(mock.createRequest(presence));
|
|
|
|
|
|
- expect(u.isVisible(view.querySelector('.chat-area'))).toBeFalsy();
|
|
|
|
|
|
+ await u.waitUntil(() => !u.isVisible(view.querySelector('.chat-area')));
|
|
expect(u.isVisible(view.querySelector('.occupants'))).toBeFalsy();
|
|
expect(u.isVisible(view.querySelector('.occupants'))).toBeFalsy();
|
|
const chat_body = view.querySelector('.chatroom-body');
|
|
const chat_body = view.querySelector('.chatroom-body');
|
|
expect(chat_body.querySelectorAll('.disconnect-msg').length).toBe(3);
|
|
expect(chat_body.querySelectorAll('.disconnect-msg').length).toBe(3);
|
|
@@ -2775,7 +2778,7 @@ describe("Groupchats", function () {
|
|
_converse.connection._dataRecv(mock.createRequest(presence));
|
|
_converse.connection._dataRecv(mock.createRequest(presence));
|
|
|
|
|
|
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
|
const view = _converse.chatboxviews.get('lounge@montague.lit');
|
|
- expect(u.isVisible(view.querySelector('.chat-area'))).toBeFalsy();
|
|
|
|
|
|
+ await u.waitUntil(() => !u.isVisible(view.querySelector('.chat-area')));
|
|
expect(u.isVisible(view.querySelector('.occupants'))).toBeFalsy();
|
|
expect(u.isVisible(view.querySelector('.occupants'))).toBeFalsy();
|
|
const chat_body = view.querySelector('.chatroom-body');
|
|
const chat_body = view.querySelector('.chatroom-body');
|
|
expect(chat_body.querySelectorAll('.disconnect-msg').length).toBe(2);
|
|
expect(chat_body.querySelectorAll('.disconnect-msg').length).toBe(2);
|
|
@@ -2815,7 +2818,6 @@ describe("Groupchats", function () {
|
|
// only on the right.
|
|
// only on the right.
|
|
expect(_.isEqual(new_attrs.sort(), old_attrs.sort())).toEqual(true);
|
|
expect(_.isEqual(new_attrs.sort(), old_attrs.sort())).toEqual(true);
|
|
}
|
|
}
|
|
- _converse.rosterview.render();
|
|
|
|
done();
|
|
done();
|
|
}));
|
|
}));
|
|
|
|
|
|
@@ -4552,7 +4554,7 @@ describe("Groupchats", function () {
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
|
|
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
@@ -4577,7 +4579,7 @@ describe("Groupchats", function () {
|
|
await u.waitUntil(() => sizzle('.chatroom', _converse.el).filter(u.isVisible).length === 1);
|
|
await u.waitUntil(() => sizzle('.chatroom', _converse.el).filter(u.isVisible).length === 1);
|
|
|
|
|
|
roomspanel.model.set('muc_domain', 'muc.example.org');
|
|
roomspanel.model.set('muc_domain', 'muc.example.org');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
label_name = modal.el.querySelector('label[for="chatroom"]');
|
|
label_name = modal.el.querySelector('label[for="chatroom"]');
|
|
expect(label_name.textContent.trim()).toBe('Groupchat address:');
|
|
expect(label_name.textContent.trim()).toBe('Groupchat address:');
|
|
name_input = modal.el.querySelector('input[name="chatroom"]');
|
|
name_input = modal.el.querySelector('input[name="chatroom"]');
|
|
@@ -4591,7 +4593,7 @@ describe("Groupchats", function () {
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
@@ -4612,7 +4614,7 @@ describe("Groupchats", function () {
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
@@ -4629,7 +4631,7 @@ describe("Groupchats", function () {
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
await mock.waitForRoster(_converse, 'current', 0);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
@@ -4645,7 +4647,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
expect(modal.el.querySelector('.modal-title').textContent.trim()).toBe('Enter a new Groupchat');
|
|
expect(modal.el.querySelector('.modal-title').textContent.trim()).toBe('Enter a new Groupchat');
|
|
@@ -4665,7 +4667,7 @@ describe("Groupchats", function () {
|
|
expect(_.includes(_converse.chatboxes.models.map(m => m.get('id')), 'lounge@muc.example.org')).toBe(true);
|
|
expect(_.includes(_converse.chatboxes.models.map(m => m.get('id')), 'lounge@muc.example.org')).toBe(true);
|
|
|
|
|
|
// However, you can still open MUCs with different domains
|
|
// However, you can still open MUCs with different domains
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
name_input = modal.el.querySelector('input[name="chatroom"]');
|
|
name_input = modal.el.querySelector('input[name="chatroom"]');
|
|
name_input.value = 'lounge@conference.example.org';
|
|
name_input.value = 'lounge@conference.example.org';
|
|
@@ -4684,7 +4686,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
const modal = _converse.api.modal.get('add-chatroom-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000)
|
|
expect(modal.el.querySelector('.modal-title').textContent.trim()).toBe('Enter a new Groupchat');
|
|
expect(modal.el.querySelector('.modal-title').textContent.trim()).toBe('Enter a new Groupchat');
|
|
@@ -4703,7 +4705,7 @@ describe("Groupchats", function () {
|
|
expect(_.includes(_converse.chatboxes.models.map(m => m.get('id')), 'lounge@muc.example.org')).toBe(true);
|
|
expect(_.includes(_converse.chatboxes.models.map(m => m.get('id')), 'lounge@muc.example.org')).toBe(true);
|
|
|
|
|
|
// However, you can still open MUCs with different domains
|
|
// However, you can still open MUCs with different domains
|
|
- roomspanel.el.querySelector('.show-add-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-add-muc-modal').click();
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
name_input = modal.el.querySelector('input[name="chatroom"]');
|
|
name_input = modal.el.querySelector('input[name="chatroom"]');
|
|
name_input.value = 'lounge@conference';
|
|
name_input.value = 'lounge@conference';
|
|
@@ -4724,7 +4726,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-list-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-list-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('muc-list-modal');
|
|
const modal = _converse.api.modal.get('muc-list-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
@@ -4801,7 +4803,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-list-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-list-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('muc-list-modal');
|
|
const modal = _converse.api.modal.get('muc-list-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
@@ -4818,7 +4820,7 @@ describe("Groupchats", function () {
|
|
|
|
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- roomspanel.el.querySelector('.show-list-muc-modal').click();
|
|
|
|
|
|
+ roomspanel.querySelector('.show-list-muc-modal').click();
|
|
mock.closeControlBox(_converse);
|
|
mock.closeControlBox(_converse);
|
|
const modal = _converse.api.modal.get('muc-list-modal');
|
|
const modal = _converse.api.modal.get('muc-list-modal');
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
await u.waitUntil(() => u.isVisible(modal.el), 1000);
|
|
@@ -4868,15 +4870,15 @@ describe("Groupchats", function () {
|
|
|
|
|
|
await mock.openControlBox(_converse);
|
|
await mock.openControlBox(_converse);
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
const roomspanel = _converse.chatboxviews.get('controlbox').querySelector('converse-rooms-list');
|
|
- expect(roomspanel.el.querySelectorAll('.available-room').length).toBe(0);
|
|
|
|
|
|
+ expect(roomspanel.querySelectorAll('.available-room').length).toBe(0);
|
|
|
|
|
|
const muc_jid = 'kitchen@conference.shakespeare.lit';
|
|
const muc_jid = 'kitchen@conference.shakespeare.lit';
|
|
const message = 'fires: Your attention is required';
|
|
const message = 'fires: Your attention is required';
|
|
await mock.openAndEnterChatRoom(_converse, muc_jid, 'fires');
|
|
await mock.openAndEnterChatRoom(_converse, muc_jid, 'fires');
|
|
const view = _converse.api.chatviews.get(muc_jid);
|
|
const view = _converse.api.chatviews.get(muc_jid);
|
|
- await u.waitUntil(() => roomspanel.el.querySelectorAll('.available-room').length);
|
|
|
|
- expect(roomspanel.el.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
- expect(roomspanel.el.querySelectorAll('.msgs-indicator').length).toBe(0);
|
|
|
|
|
|
+ await u.waitUntil(() => roomspanel.querySelectorAll('.available-room').length);
|
|
|
|
+ expect(roomspanel.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
+ expect(roomspanel.querySelectorAll('.msgs-indicator').length).toBe(0);
|
|
|
|
|
|
view.model.set({'minimized': true});
|
|
view.model.set({'minimized': true});
|
|
|
|
|
|
@@ -4888,9 +4890,9 @@ describe("Groupchats", function () {
|
|
type: 'groupchat'
|
|
type: 'groupchat'
|
|
}).c('body').t(message).tree());
|
|
}).c('body').t(message).tree());
|
|
await u.waitUntil(() => view.model.messages.length);
|
|
await u.waitUntil(() => view.model.messages.length);
|
|
- expect(roomspanel.el.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
- expect(roomspanel.el.querySelectorAll('.msgs-indicator').length).toBe(1);
|
|
|
|
- expect(roomspanel.el.querySelector('.msgs-indicator').textContent.trim()).toBe('1');
|
|
|
|
|
|
+ expect(roomspanel.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
+ expect(roomspanel.querySelectorAll('.msgs-indicator').length).toBe(1);
|
|
|
|
+ expect(roomspanel.querySelector('.msgs-indicator').textContent.trim()).toBe('1');
|
|
|
|
|
|
await view.model.handleMessageStanza($msg({
|
|
await view.model.handleMessageStanza($msg({
|
|
'from': muc_jid+'/'+nick,
|
|
'from': muc_jid+'/'+nick,
|
|
@@ -4899,12 +4901,12 @@ describe("Groupchats", function () {
|
|
'type': 'groupchat'
|
|
'type': 'groupchat'
|
|
}).c('body').t(message).tree());
|
|
}).c('body').t(message).tree());
|
|
await u.waitUntil(() => view.model.messages.length > 1);
|
|
await u.waitUntil(() => view.model.messages.length > 1);
|
|
- expect(roomspanel.el.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
- expect(roomspanel.el.querySelectorAll('.msgs-indicator').length).toBe(1);
|
|
|
|
- expect(roomspanel.el.querySelector('.msgs-indicator').textContent.trim()).toBe('2');
|
|
|
|
|
|
+ expect(roomspanel.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
+ expect(roomspanel.querySelectorAll('.msgs-indicator').length).toBe(1);
|
|
|
|
+ expect(roomspanel.querySelector('.msgs-indicator').textContent.trim()).toBe('2');
|
|
view.model.set({'minimized': false});
|
|
view.model.set({'minimized': false});
|
|
- expect(roomspanel.el.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
- expect(roomspanel.el.querySelectorAll('.msgs-indicator').length).toBe(0);
|
|
|
|
|
|
+ expect(roomspanel.querySelectorAll('.available-room').length).toBe(1);
|
|
|
|
+ expect(roomspanel.querySelectorAll('.msgs-indicator').length).toBe(0);
|
|
done();
|
|
done();
|
|
}));
|
|
}));
|
|
});
|
|
});
|
|
@@ -4953,7 +4955,7 @@ describe("Groupchats", function () {
|
|
_converse.connection._dataRecv(mock.createRequest(presence));
|
|
_converse.connection._dataRecv(mock.createRequest(presence));
|
|
|
|
|
|
const occupant = view.model.occupants.findWhere({'jid': _converse.bare_jid});
|
|
const occupant = view.model.occupants.findWhere({'jid': _converse.bare_jid});
|
|
- expect(occupant.get('role')).toBe('visitor');
|
|
|
|
|
|
+ await u.waitUntil(() => occupant.get('role') === 'visitor');
|
|
|
|
|
|
spyOn(_converse.connection, 'send');
|
|
spyOn(_converse.connection, 'send');
|
|
view.model.setChatState(_converse.INACTIVE);
|
|
view.model.setChatState(_converse.INACTIVE);
|
|
@@ -5260,7 +5262,7 @@ describe("Groupchats", function () {
|
|
</presence>`);
|
|
</presence>`);
|
|
_converse.connection._dataRecv(mock.createRequest(stanza));
|
|
_converse.connection._dataRecv(mock.createRequest(stanza));
|
|
|
|
|
|
- expect(view.querySelector('.chat-textarea')).toBe(null);
|
|
|
|
|
|
+ await u.waitUntil(() => view.querySelector('.chat-textarea') === null);
|
|
let bottom_panel = view.querySelector('.muc-bottom-panel');
|
|
let bottom_panel = view.querySelector('.muc-bottom-panel');
|
|
expect(bottom_panel.textContent.trim()).toBe("You're not allowed to send messages in this room");
|
|
expect(bottom_panel.textContent.trim()).toBe("You're not allowed to send messages in this room");
|
|
|
|
|
|
@@ -5295,8 +5297,7 @@ describe("Groupchats", function () {
|
|
</x>
|
|
</x>
|
|
</presence>`);
|
|
</presence>`);
|
|
_converse.connection._dataRecv(mock.createRequest(stanza));
|
|
_converse.connection._dataRecv(mock.createRequest(stanza));
|
|
- bottom_panel = view.querySelector('.muc-bottom-panel');
|
|
|
|
- expect(bottom_panel).toBe(null);
|
|
|
|
|
|
+ await u.waitUntil(() => view.querySelector('.muc-bottom-panel') === null);
|
|
|
|
|
|
textarea = view.querySelector('.chat-textarea');
|
|
textarea = view.querySelector('.chat-textarea');
|
|
expect(textarea === null).toBe(false);
|
|
expect(textarea === null).toBe(false);
|