UNPKG

@converse/headless

Version:

Converse.js Headless build

38 lines (33 loc) 1.76 kB
import mock from '../../../tests/mock.js'; import converse from '../../../dist/converse-headless.js'; const { stx } = converse.env; describe('The MUC Affiliations API', function () { it( 'can be used to set affiliations in MUCs without having to join them first', mock.initConverse(converse, [], {}, async function (_converse) { const { api } = _converse; const user_jid = 'annoyingguy@montague.lit'; const muc_jid = 'lounge@montague.lit'; await mock.openAndEnterMUC(_converse, muc_jid, 'romeo'); const presence = stx` <presence from="lounge@montague.lit/annoyingGuy" id="27C55F89-1C6A-459A-9EB5-77690145D624" to="romeo@montague.lit/desktop" xmlns="jabber:client"> <x xmlns="http://jabber.org/protocol/muc#user"/> <item jid="${user_jid}" affiliation="member" role="participant"/> </presence>`; _converse.api.connection.get()._dataRecv(mock.createRequest(_converse, presence)); api.rooms.affiliations.set(muc_jid, { jid: user_jid, affiliation: 'outcast', reason: 'Ban hammer!' }); const iq = _converse.api.connection.get().IQ_stanzas.pop(); expect(iq).toEqualStanza(stx` <iq id="${iq.getAttribute('id')}" to="lounge@montague.lit" type="set" xmlns="jabber:client"> <query xmlns="http://jabber.org/protocol/muc#admin"> <item affiliation="outcast" jid="${user_jid}"> <reason>Ban hammer!</reason> </item> </query> </iq>`); }), ); });