From d7d8948eba45f46c75f121e74a2b9ad5b251de40 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Sun, 3 Nov 2013 12:02:25 +0200 Subject: [PATCH] Refactor ChatRoom tests (move code to utils.js) --- converse.js | 2 +- spec/ChatRoomSpec.js | 16 +++------------- tests/utils.js | 21 +++++++++++++++++++-- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/converse.js b/converse.js index ce5a55f15..d0721c122 100644 --- a/converse.js +++ b/converse.js @@ -1830,7 +1830,7 @@ this.connect(null); this.model.messages.on('add', this.onMessageAdded, this); this.model.on('destroy', function (model, response, options) { - this.$el.hide('fast'); + this.hide(); converse.connection.muc.leave( this.model.get('jid'), this.model.get('nick'), diff --git a/spec/ChatRoomSpec.js b/spec/ChatRoomSpec.js index c44a518a4..72eba6bd2 100644 --- a/spec/ChatRoomSpec.js +++ b/spec/ChatRoomSpec.js @@ -10,20 +10,10 @@ return describe("ChatRooms", $.proxy(function (mock, utils) { describe("A Chat Room", $.proxy(function () { - beforeEach($.proxy(function () { + beforeEach(function () { utils.closeAllChatBoxes(); - utils.openControlBox(); - utils.openRoomsPanel(); - var roomspanel = this.chatboxesview.views.controlbox.roomspanel; - var $input = roomspanel.$el.find('input.new-chatroom-name'); - var $nick = roomspanel.$el.find('input.new-chatroom-nick'); - var $server = roomspanel.$el.find('input.new-chatroom-server'); - $input.val('lounge'); - $nick.val('dummy'); - $server.val('muc.localhost'); - roomspanel.$el.find('form').submit(); - $('.toggle-online-users').click(); - }, converse)); + utils.createNewChatRoom('lounge', 'dummy'); + }); it("shows users currently present in the room", $.proxy(function () { var chatroomview = this.chatboxesview.views['lounge@muc.localhost'], diff --git a/tests/utils.js b/tests/utils.js index 39803394e..7d107069d 100644 --- a/tests/utils.js +++ b/tests/utils.js @@ -10,8 +10,8 @@ var utils = {}; utils.closeAllChatBoxes = function () { - var i, chatbox, num_chatboxes = converse.chatboxes.models.length; - for (i=num_chatboxes-1; i>-1; i--) { + var i, chatbox; + for (i=converse.chatboxes.models.length-1; i>-1; i--) { chatbox = converse.chatboxes.models[i]; converse.chatboxesview.views[chatbox.get('id')].closeChat(); } @@ -83,6 +83,23 @@ converse.rosterview.rosteritemviews[jid].openChat(mock.event); }; + utils.createNewChatRoom = function (room, nick) { + var controlbox_was_visible = $("#controlbox").is(':visible'); + utils.openControlBox(); + utils.openRoomsPanel(); + var roomspanel = converse.chatboxesview.views.controlbox.roomspanel; + var $input = roomspanel.$el.find('input.new-chatroom-name'); + var $nick = roomspanel.$el.find('input.new-chatroom-nick'); + var $server = roomspanel.$el.find('input.new-chatroom-server'); + $input.val('lounge'); + $nick.val('dummy'); + $server.val('muc.localhost'); + roomspanel.$el.find('form').submit(); + if (!controlbox_was_visible) { + utils.closeControlBox(); + } + }; + utils.createCurrentContacts = function () { // Create current (as opposed to requesting or pending) contacts // for the user's roster.