UNPKG

@converse/headless

Version:

Converse.js Headless build

52 lines (46 loc) 2.38 kB
import mock from '../../../tests/mock.js'; import converse from '../../../dist/converse-headless.js'; const { stx, u } = converse.env; describe('MUC presence history element', function () { it( 'includes history when maxstanzas is set', mock.initConverse(converse, ['statusInitialized'], { muc_history_max_stanzas: 5 }, async function (_converse) { const { api } = _converse; const muc_jid = 'room@server'; const nick = 'test'; const jid = _converse.session.get('jid'); await mock.openAndEnterMUC(_converse, muc_jid, nick, ['http://jabber.org/protocol/muc']); const { sent_stanzas } = _converse.api.connection.get(); let sent_stanza = await u.waitUntil(() => sent_stanzas .filter((s) => s.nodeName === 'presence' && s.getAttribute('to') === `${muc_jid}/${nick}`) .pop(), ); expect(sent_stanza).toEqualStanza(stx` <presence to="${muc_jid}/${nick}" xmlns="jabber:client" id="${sent_stanza.getAttribute('id')}" from="${jid}"> <x xmlns="http://jabber.org/protocol/muc"> <history maxstanzas="5"/> </x> <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="https://conversejs.org" ver="VQN2NgsmAtNozeP6nd9JHH3MIuE="/> </presence>`); api.settings.set('muc_history_max_stanzas', 0); const muc2_jid = 'room2@server'; await mock.openAndEnterMUC(_converse, muc2_jid, nick); sent_stanza = await u.waitUntil(() => sent_stanzas .filter((s) => s.nodeName === 'presence' && s.getAttribute('to') === `${muc2_jid}/${nick}`) .pop(), ); expect(sent_stanza).toEqualStanza(stx` <presence to="${muc2_jid}/${nick}" xmlns="jabber:client" id="${sent_stanza.getAttribute('id')}" from="${jid}"> <x xmlns="http://jabber.org/protocol/muc"><history maxstanzas="0"/></x> <c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="https://conversejs.org" ver="VQN2NgsmAtNozeP6nd9JHH3MIuE="/> </presence>`); }), ); });