Skip to content

Commit a1630b5

Browse files
committed
Replace wait-until-promise with utility method
and bump default timeout Also let `_converse.api.waitUntil` use it if a function is passed in.
1 parent 8a98ef8 commit a1630b5

30 files changed

+1016
-1203
lines changed

package-lock.json

Lines changed: 211 additions & 451 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@
9494
"style-loader": "^0.23.1",
9595
"uglify-es": "^3.3.9",
9696
"urijs": "^1.19.1",
97-
"wait-until-promise": "^1.0.0",
9897
"webpack": "^4.35.3",
9998
"webpack-cli": "^3.3.5",
10099
"xss": "^1.0.6"

spec/bookmarks.js

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
const view = _converse.chatboxviews.get(jid);
4141
spyOn(view, 'renderBookmarkForm').and.callThrough();
4242
spyOn(view, 'closeForm').and.callThrough();
43-
await test_utils.waitUntil(() => !_.isNull(view.el.querySelector('.toggle-bookmark')));
43+
await u.waitUntil(() => !_.isNull(view.el.querySelector('.toggle-bookmark')));
4444
let toggle = view.el.querySelector('.toggle-bookmark');
4545
expect(toggle.title).toBe('Bookmark this groupchat');
4646
toggle.click();
@@ -94,7 +94,7 @@
9494
_converse.connection.IQ_stanzas = [];
9595
view.el.querySelector('.btn-primary').click();
9696

97-
await test_utils.waitUntil(() => sent_stanza);
97+
await u.waitUntil(() => sent_stanza);
9898
expect(sent_stanza.toLocaleString()).toBe(
9999
`<iq from="[email protected]/orchard" id="${IQ_id}" type="set" xmlns="jabber:client">`+
100100
`<pubsub xmlns="http://jabber.org/protocol/pubsub">`+
@@ -133,8 +133,8 @@
133133
'id':IQ_id
134134
});
135135
_converse.connection._dataRecv(test_utils.createRequest(stanza));
136-
await test_utils.waitUntil(() => view.model.get('bookmarked'));
137-
toggle = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
136+
await u.waitUntil(() => view.model.get('bookmarked'));
137+
toggle = await u.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
138138
expect(view.model.get('bookmarked')).toBeTruthy();
139139
expect(toggle.title).toBe('Unbookmark this groupchat');
140140
expect(u.hasClass('on-button', toggle), true);
@@ -153,7 +153,7 @@
153153
[{'category': 'pubsub', 'type': 'pep'}],
154154
['http://jabber.org/protocol/pubsub#publish-options']
155155
);
156-
await test_utils.waitUntil(() => _converse.bookmarks);
156+
await u.waitUntil(() => _converse.bookmarks);
157157
let jid = '[email protected]';
158158
_converse.bookmarks.create({
159159
'jid': jid,
@@ -198,7 +198,7 @@
198198
['http://jabber.org/protocol/pubsub#publish-options']
199199
);
200200
const room_jid = '[email protected]';
201-
await test_utils.waitUntil(() => _converse.bookmarks);
201+
await u.waitUntil(() => _converse.bookmarks);
202202
_converse.bookmarks.create({
203203
'jid': room_jid,
204204
'autojoin': false,
@@ -208,7 +208,7 @@
208208
const model = await _converse.api.rooms.open(room_jid);
209209
spyOn(model, 'join').and.callThrough();
210210
await test_utils.getRoomFeatures(_converse, 'coven', 'chat.shakespeare.lit');
211-
await test_utils.waitUntil(() => model.join.calls.count());
211+
await u.waitUntil(() => model.join.calls.count());
212212
expect(model.get('nick')).toBe('Othello');
213213
done();
214214
}));
@@ -224,7 +224,7 @@
224224
);
225225
await _converse.api.rooms.open(`[email protected]`);
226226
const view = _converse.chatboxviews.get('[email protected]');
227-
let bookmark_icon = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
227+
let bookmark_icon = await u.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
228228
expect(_.includes(bookmark_icon.classList, 'button-on')).toBeFalsy();
229229
_converse.bookmarks.create({
230230
'jid': view.model.get('jid'),
@@ -233,10 +233,10 @@
233233
'nick': ' some1'
234234
});
235235
view.model.set('bookmarked', true);
236-
bookmark_icon = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
236+
bookmark_icon = await u.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
237237
expect(_.includes(bookmark_icon.classList, 'button-on')).toBeTruthy();
238238
view.model.set('bookmarked', false);
239-
bookmark_icon = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
239+
bookmark_icon = await u.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
240240
expect(_.includes(bookmark_icon.classList, 'button-on')).toBeFalsy();
241241
done();
242242
}));
@@ -257,7 +257,7 @@
257257

258258
const jid = '[email protected]';
259259
const view = _converse.chatboxviews.get(jid);
260-
await test_utils.waitUntil(() => !_.isNull(view.el.querySelector('.toggle-bookmark')));
260+
await u.waitUntil(() => !_.isNull(view.el.querySelector('.toggle-bookmark')));
261261

262262
spyOn(view, 'toggleBookmark').and.callThrough();
263263
spyOn(_converse.bookmarks, 'sendBookmarkStanza').and.callThrough();
@@ -271,7 +271,7 @@
271271
});
272272
expect(_converse.bookmarks.length).toBe(1);
273273
expect(view.model.get('bookmarked')).toBeTruthy();
274-
let bookmark_icon = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
274+
let bookmark_icon = await u.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
275275
expect(u.hasClass('button-on', bookmark_icon)).toBeTruthy();
276276

277277
spyOn(_converse.connection, 'sendIQ').and.callFake(function (iq, callback, errback) {
@@ -280,7 +280,7 @@
280280
});
281281
spyOn(_converse.connection, 'getUniqueId').and.callThrough();
282282
bookmark_icon.click();
283-
bookmark_icon = await test_utils.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
283+
bookmark_icon = await u.waitUntil(() => view.el.querySelector('.toggle-bookmark'));
284284
expect(view.toggleBookmark).toHaveBeenCalled();
285285
expect(u.hasClass('button-on', bookmark_icon)).toBeFalsy();
286286
expect(_converse.bookmarks.length).toBe(0);
@@ -360,7 +360,7 @@
360360
[{'category': 'pubsub', 'type': 'pep'}],
361361
['http://jabber.org/protocol/pubsub#publish-options']
362362
);
363-
await test_utils.waitUntil(() => _converse.bookmarks);
363+
await u.waitUntil(() => _converse.bookmarks);
364364
// Emit here instead of mocking fetching of bookmarks.
365365
_converse.api.trigger('bookmarksInitialized');
366366

@@ -402,7 +402,7 @@
402402
403403
.c('nick').t('JC');
404404
_converse.connection._dataRecv(test_utils.createRequest(stanza));
405-
await test_utils.waitUntil(() => _converse.bookmarks.length);
405+
await u.waitUntil(() => _converse.bookmarks.length);
406406
expect(_converse.bookmarks.length).toBe(1);
407407
expect(_converse.chatboxviews.get('[email protected]')).not.toBeUndefined();
408408
done();
@@ -428,7 +428,7 @@
428428
* </iq>
429429
*/
430430
let IQ_id;
431-
const call = await test_utils.waitUntil(() =>
431+
const call = await u.waitUntil(() =>
432432
_.filter(
433433
_converse.connection.send.calls.all(),
434434
call => {
@@ -491,7 +491,7 @@
491491
492492
}); // Purposefully exclude the <nick> element to test #1043
493493
_converse.connection._dataRecv(test_utils.createRequest(stanza));
494-
await test_utils.waitUntil(() => _converse.bookmarks.onBookmarksReceived.calls.count());
494+
await u.waitUntil(() => _converse.bookmarks.onBookmarksReceived.calls.count());
495495
expect(_converse.bookmarks.models.length).toBe(2);
496496
expect(_converse.bookmarks.findWhere({'jid': '[email protected]'}).get('autojoin')).toBe(true);
497497
expect(_converse.bookmarks.findWhere({'jid': '[email protected]'}).get('autojoin')).toBe(false);
@@ -512,7 +512,7 @@
512512
test_utils.openControlBox();
513513

514514
let IQ_id;
515-
const call = await test_utils.waitUntil(() =>
515+
const call = await u.waitUntil(() =>
516516
_.filter(
517517
_converse.connection.send.calls.all(),
518518
call => {
@@ -566,7 +566,7 @@
566566
}).c('nick').t('JC').up().up();
567567
_converse.connection._dataRecv(test_utils.createRequest(stanza));
568568

569-
await test_utils.waitUntil(() => document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item').length);
569+
await u.waitUntil(() => document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item').length);
570570
expect(document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item').length).toBe(5);
571571
let els = document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item a.list-item-link');
572572
expect(els[0].textContent).toBe("1st Bookmark");
@@ -578,7 +578,7 @@
578578
spyOn(window, 'confirm').and.returnValue(true);
579579
document.querySelector('#chatrooms .bookmarks.rooms-list .room-item:nth-child(2) a:nth-child(2)').click();
580580
expect(window.confirm).toHaveBeenCalled();
581-
await test_utils.waitUntil(() => document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item').length === 4)
581+
await u.waitUntil(() => document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item').length === 4)
582582
els = document.querySelectorAll('#chatrooms div.bookmarks.rooms-list .room-item a.list-item-link');
583583
expect(els[0].textContent).toBe("1st Bookmark");
584584
expect(els[1].textContent).toBe("Bookmark with a very very long name that will be shortened");
@@ -600,7 +600,7 @@
600600
);
601601

602602
let IQ_id;
603-
const call = await test_utils.waitUntil(() =>
603+
const call = await u.waitUntil(() =>
604604
_.filter(
605605
_converse.connection.send.calls.all(),
606606
call => {
@@ -638,7 +638,7 @@
638638
});
639639
const el = _converse.chatboxviews.el
640640
const selector = '#chatrooms .bookmarks.rooms-list .room-item';
641-
await test_utils.waitUntil(() => sizzle(selector, el).filter(u.isVisible).length);
641+
await u.waitUntil(() => sizzle(selector, el).filter(u.isVisible).length);
642642
expect(u.hasClass('collapsed', sizzle('#chatrooms .bookmarks.rooms-list', el).pop())).toBeFalsy();
643643
expect(sizzle(selector, el).filter(u.isVisible).length).toBe(1);
644644
expect(_converse.bookmarksview.list_model.get('toggle-state')).toBe(_converse.OPENED);
@@ -668,7 +668,7 @@
668668
[{'category': 'pubsub', 'type': 'pep'}],
669669
['http://jabber.org/protocol/pubsub#publish-options']
670670
);
671-
await test_utils.waitUntil(() => _converse.bookmarks);
671+
await u.waitUntil(() => _converse.bookmarks);
672672
// XXX Create bookmarks view here, otherwise we need to mock stanza
673673
// traffic for it to get created.
674674
_converse.bookmarksview = new _converse.BookmarksView(
@@ -686,13 +686,13 @@
686686
expect(_converse.bookmarks.length).toBe(1);
687687

688688
const bmarks_view = _converse.bookmarksview;
689-
await test_utils.waitUntil(() => bmarks_view.el.querySelectorAll(".open-room").length, 500);
689+
await u.waitUntil(() => bmarks_view.el.querySelectorAll(".open-room").length, 500);
690690
const room_els = bmarks_view.el.querySelectorAll(".open-room");
691691
expect(room_els.length).toBe(1);
692692

693693
const bookmark = _converse.bookmarksview.el.querySelector(".open-room");
694694
bookmark.click();
695-
await test_utils.waitUntil(() => _converse.chatboxviews.get(jid));
695+
await u.waitUntil(() => _converse.chatboxviews.get(jid));
696696

697697
expect(u.hasClass('hidden', _converse.bookmarksview.el.querySelector(".available-chatroom"))).toBeTruthy();
698698
// Check that it reappears once the room is closed

0 commit comments

Comments
 (0)