From f36b069e5db126a883657d65319f7778fc5bba85 Mon Sep 17 00:00:00 2001 From: JC Brand Date: Fri, 22 Dec 2017 15:55:03 +0000 Subject: [PATCH] Add missing spec/roster.js --- spec/roster.js | 1254 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1254 insertions(+) create mode 100644 spec/roster.js diff --git a/spec/roster.js b/spec/roster.js new file mode 100644 index 000000000..3d2349479 --- /dev/null +++ b/spec/roster.js @@ -0,0 +1,1254 @@ +(function (root, factory) { + define(["jquery.noconflict", "jasmine", "mock", "converse-core", "test-utils"], factory); +} (this, function ($, jasmine, mock, converse, test_utils) { + var _ = converse.env._; + var $pres = converse.env.$pres; + var $msg = converse.env.$msg; + var $iq = converse.env.$iq; + var u = converse.env.utils; + + var checkHeaderToggling = function ($group) { + var $toggle = $group.find('a.group-toggle'); + expect(u.isVisible($group[0])).toBeTruthy(); + expect($group.find('ul.collapsed').length).toBe(0); + expect($toggle.hasClass('icon-closed')).toBeFalsy(); + expect($toggle.hasClass('icon-opened')).toBeTruthy(); + $toggle.click(); + + return test_utils.waitUntil(function () { + return $group.find('ul.collapsed').length === 1; + }, 500).then(function () { + expect($toggle.hasClass('icon-closed')).toBeTruthy(); + expect($toggle.hasClass('icon-opened')).toBeFalsy(); + $toggle.click(); + return test_utils.waitUntil(function () { + return $group.find('li').length === $group.find('li:visible').length + }, 500); + }).then(function () { + expect($toggle.hasClass('icon-closed')).toBeFalsy(); + expect($toggle.hasClass('icon-opened')).toBeTruthy(); + }); + }; + + + describe("The Contacts Roster", function () { + + describe("The live filter", function () { + + it("will only appear when roster contacts flow over the visible area", + mock.initConverseWithPromises( + null, ['rosterGroupsFetched'], {}, + function (done, _converse) { + + var $filter = _converse.rosterview.$('.roster-filter'); + var names = mock.cur_names; + test_utils.openControlBox(); + _converse.rosterview.update(); // XXX: Will normally called as event handler + expect($filter.length).toBe(1); + test_utils.waitUntil(function () { + return !$filter.is(':visible'); + }).then(function () { + for (var i=0; i