(function (root, factory) { define("test_utils", [ 'jquery', 'mock' ], function($, mock) { return factory($, mock); }); }(this, function ($, mock) { var $pres = converse_api.env.$pres; var $iq = converse_api.env.$iq; var Strophe = converse_api.env.Strophe; var utils = {}; utils.createRequest = function (iq) { iq = typeof iq.tree == "function" ? iq.tree() : iq; var req = new Strophe.Request(iq, function() {}); req.getResponse = function () { var env = new Strophe.Builder('env', {type: 'mock'}).tree(); env.appendChild(iq); return env; }; return req; }; utils.closeAllChatBoxes = function () { var i, chatbox; for (i=converse.chatboxes.models.length-1; i>-1; i--) { chatbox = converse.chatboxes.models[i]; converse.chatboxviews.get(chatbox.get('id')).close(); } return this; }; utils.removeAllChatBoxes = function () { var i, chatbox, num_chatboxes = converse.chatboxes.models.length; for (i=num_chatboxes-1; i>-1; i--) { chatbox = converse.chatboxes.models[i]; converse.chatboxviews.get(chatbox.get('id')).close(); converse.chatboxviews.get(chatbox.get('id')).$el.remove(); } converse.chatboxviews.get('controlbox').close(); converse.chatboxviews.get('controlbox').$el.remove(); return this; }; utils.initConverse = function () { converse._tearDown(); converse._initialize(); }; utils.initRoster = function () { converse.roster.browserStorage._clear(); converse.initRoster(); }; utils.openControlBox = function () { var toggle = $(".toggle-controlbox"); if (!$("#controlbox").is(':visible')) { if (!toggle.is(':visible')) { toggle.show(toggle.click); } else { toggle.click(); } } return this; }; utils.closeControlBox = function () { if ($("#controlbox").is(':visible')) { $("#controlbox").find(".close-chatbox-button").click(); } return this; }; utils.removeControlBox = function () { converse.controlboxtoggle.show(); $('#controlbox').remove(); }; utils.openContactsPanel = function () { var cbview = converse.chatboxviews.get('controlbox'); var $tabs = cbview.$el.find('#controlbox-tabs'); $tabs.find('li').first().find('a').click(); }; utils.openRoomsPanel = function () { var cbview = converse.chatboxviews.get('controlbox'); var $tabs = cbview.$el.find('#controlbox-tabs'); $tabs.find('li').last().find('a').click(); }; utils.openChatBoxes = function (amount) { var i = 0, jid, views = []; for (i; i