converse.js
Version:
Browser based XMPP chat client
24 lines (18 loc) • 1.05 kB
JavaScript
/*global mock, converse */
const { u, sizzle } = converse.env;
describe("The Profile model", function () {
it("won't send <show>online</show> when setting a custom status message",
mock.initConverse(async (_converse) => {
const sent_stanzas = _converse.api.connection.get().sent_stanzas;
await _converse.api.user.status.set('online');
_converse.api.user.status.message.set("I'm also happy!");
const stanza = await u.waitUntil(() => sent_stanzas.filter(s => s.matches('presence')).pop());
expect(stanza.childNodes.length).toBe(4);
expect(sizzle(`x[xmlns="${Strophe.NS.VCARD_UPDATE}"]`, stanza).length).toBe(1);
expect(stanza.querySelectorAll('status').length).toBe(1);
expect(stanza.querySelector('status').textContent).toBe("I'm also happy!");
expect(stanza.querySelectorAll('show').length).toBe(0);
expect(stanza.querySelectorAll('priority').length).toBe(1);
expect(stanza.querySelector('priority').textContent).toBe('0');
}));
});