xmppstatus.js 1.1 KB

123456789101112131415161718192021222324
  1. (function (root, factory) {
  2. define(["jasmine", "mock"], factory);
  3. } (this, function (jasmine, mock) {
  4. const u = converse.env.utils;
  5. return describe("The XMPPStatus model", function () {
  6. it("won't send <show>online</show> when setting a custom status message",
  7. mock.initConverse(async (done, _converse) => {
  8. _converse.xmppstatus.save({'status': 'online'});
  9. spyOn(_converse.connection, 'send');
  10. _converse.api.user.status.message.set("I'm also happy!");
  11. await u.waitUntil(() => _converse.connection.send.calls.count());
  12. const stanza = _converse.connection.send.calls.argsFor(0)[0].tree();
  13. expect(stanza.childNodes.length).toBe(3);
  14. expect(stanza.querySelectorAll('status').length).toBe(1);
  15. expect(stanza.querySelector('status').textContent).toBe("I'm also happy!");
  16. expect(stanza.querySelectorAll('show').length).toBe(0);
  17. expect(stanza.querySelectorAll('priority').length).toBe(1);
  18. expect(stanza.querySelector('priority').textContent).toBe('0');
  19. done();
  20. }));
  21. });
  22. }));