From ff345dcf510541bc9b09422ff14c388a1f5d3bf3 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Sat, 2 Nov 2013 10:56:20 +0200 Subject: [PATCH] Move mock.js to tests dir. Add utils.js Both changes from tests-refactor branch --- spec/ChatRoomSpec.js | 37 +++++------ spec/MainSpec.js | 138 ++++++++++++++++----------------------- mock.js => tests/mock.js | 23 ++++++- tests/utils.js | 61 +++++++++++++++++ tests_main.js | 8 ++- 5 files changed, 160 insertions(+), 107 deletions(-) rename mock.js => tests/mock.js (66%) create mode 100644 tests/utils.js diff --git a/spec/ChatRoomSpec.js b/spec/ChatRoomSpec.js index 060c3c98b..5c0814bae 100644 --- a/spec/ChatRoomSpec.js +++ b/spec/ChatRoomSpec.js @@ -1,19 +1,13 @@ (function (root, factory) { define([ - "mock" - ], function (mock_connection) { - return factory(mock_connection); + "mock", + "utils" + ], function (mock, utils) { + return factory(mock, utils); } ); -} (this, function (mock_connection) { - return describe("ChatRooms", $.proxy(function() { - var chatroom_names = [ - 'Dyon van de Wege', 'Thomas Kalb', 'Dirk Theissen', 'Felix Hofmann', 'Ka Lek', 'Anne Ebersbacher' - ]; - closeChatRoom = function (name) { - converse.chatboxesview.views['lounge@muc.localhost'].closeChat(); - }; - +} (this, function (mock, utils) { + var chatrooms_spec_callback = function(mock, utils) { describe("A Chat Room", $.proxy(function () { beforeEach($.proxy(function () { if (!$("div#controlbox").is(':visible')) { @@ -35,12 +29,12 @@ $participant_list; var roster = {}, room = {}, i; - for (i=0; i-1; i--) { - chatbox = converse.chatboxes.models[i]; - converse.chatboxesview.views[chatbox.get('id')].closeChat(); - } - }; - - openControlBox = function () { - if (!$("div#controlbox").is(':visible')) { - $('.toggle-online-users').click(); - } - }; - +} (this, function (mock, utils) { + var spec_callback = function(mock, utils) { describe("The Control Box", $.proxy(function () { it("is not shown by default", $.proxy(function () { expect(this.rosterview.$el.is(':visible')).toEqual(false); }, converse)); - open_controlbox = $.proxy(function () { + var open_controlbox = $.proxy(function () { // This spec will only pass if the controlbox is not currently // open yet. expect($("div#controlbox").is(':visible')).toBe(false); @@ -129,10 +100,10 @@ it("can be added to the roster", $.proxy(function () { spyOn(this.rosterview, 'render').andCallThrough(); this.roster.create({ - jid: pend_names[0].replace(/ /g,'.').toLowerCase() + '@localhost', + jid: mock.pend_names[0].replace(/ /g,'.').toLowerCase() + '@localhost', subscription: 'none', ask: 'subscribe', - fullname: pend_names[0], + fullname: mock.pend_names[0], is_last: true }); expect(this.rosterview.$el.is(':visible')).toEqual(true); @@ -169,19 +140,19 @@ it("can be added to the roster and they will be sorted alphabetically", $.proxy(function () { var i, t, is_last; spyOn(this.rosterview, 'render').andCallThrough(); - for (i=0; i-1; i--) { + chatbox = converse.chatboxes.models[i]; + converse.chatboxesview.views[chatbox.get('id')].closeChat(); + } + 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.chatboxesview.views[chatbox.get('id')].closeChat(); + converse.chatboxesview.views[chatbox.get('id')].$el.remove(); + } + converse.chatboxesview.views.controlbox.closeChat(); + converse.chatboxesview.views.controlbox.$el.remove(); + return this; + }; + + utils.initRoster = function () { + converse.roster.localStorage._clear(); + converse.initRoster(); + }; + + utils.openControlBox = function () { + if (!$("#controlbox").is(':visible')) { + $('.toggle-online-users').click(); + } + return this; + }; + + utils.openContactsPanel = function () { + var cbview = converse.chatboxesview.views.controlbox; + var $tabs = cbview.$el.find('#controlbox-tabs'); + $tabs.find('li').first().find('a').click(); + }; + + utils.createContactsRoster = function () { + for (i=0; i