Skip to content

Commit 3e4f4e9

Browse files
committed
Use the API in tests
1 parent bfaa7e4 commit 3e4f4e9

File tree

1 file changed

+68
-69
lines changed

1 file changed

+68
-69
lines changed

spec/messages.js

Lines changed: 68 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
test_utils.openControlBox();
2424
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
2525
await test_utils.openChatBoxFor(_converse, contact_jid);
26-
const view = _converse.chatboxviews.get(contact_jid);
26+
const view = _converse.api.chatviews.get(contact_jid);
2727
const textarea = view.el.querySelector('textarea.chat-textarea');
2828

2929
textarea.value = 'But soft, what light through yonder airlock breaks?';
@@ -314,7 +314,8 @@
314314
.tree();
315315
await _converse.chatboxes.onMessage(msg);
316316
await test_utils.waitUntil(() => _converse.api.chats.get().length);
317-
const view = _converse.chatboxviews.get(sender_jid);
317+
const view = _converse.api.chatviews.get(sender_jid);
318+
318319
msg = $msg({'id': 'aeb214', 'to': _converse.bare_jid})
319320
.c('forwarded', {'xmlns': 'urn:xmpp:forward:0'})
320321
.c('delay', {'xmlns': 'urn:xmpp:delay', 'stamp':'2017-12-31T22:08:25Z'}).up()
@@ -523,7 +524,7 @@
523524
'type': 'chat'
524525
}).c('body').t(msgtext).tree();
525526
await _converse.chatboxes.onMessage(msg);
526-
await test_utils.waitUntil(() => _converse.api.chats.get().length)
527+
await test_utils.waitUntil(() => (_converse.api.chats.get().length > 1))
527528
const chatbox = _converse.chatboxes.get(sender_jid);
528529
const view = _converse.chatboxviews.get(sender_jid);
529530

@@ -659,7 +660,7 @@
659660

660661
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length);
661662
await test_utils.openChatBoxFor(_converse, contact_jid);
662-
const chatview = await _converse.api.chatviews.get(contact_jid);
663+
const chatview = _converse.api.chatviews.get(contact_jid);
663664
expect(u.isVisible(chatview.el)).toBeTruthy();
664665
expect(chatview.model.get('minimized')).toBeFalsy();
665666
chatview.el.querySelector('.toggle-chatbox-button').click();
@@ -1010,11 +1011,11 @@
10101011
_converse.time_format = 'hh:mm';
10111012
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
10121013
await test_utils.openChatBoxFor(_converse, contact_jid)
1013-
const view = _converse.chatboxviews.get(contact_jid);
1014+
const view = _converse.api.chatviews.get(contact_jid);
10141015
const message = 'This message is sent from this chatbox';
10151016
await test_utils.sendMessage(view, message);
10161017

1017-
const chatbox = _converse.chatboxes.get(contact_jid);
1018+
const chatbox = _converse.api.chats.get(contact_jid);
10181019
expect(chatbox.messages.models.length, 1);
10191020
const msg_object = chatbox.messages.models[0];
10201021

@@ -1055,7 +1056,7 @@
10551056
}).c('body').t('A message').up()
10561057
.c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree());
10571058
await new Promise(resolve => _converse.on('chatBoxOpened', resolve));
1058-
const view = await _converse.chatboxviews.get(sender_jid);
1059+
const view = _converse.api.chatviews.get(sender_jid);
10591060
await new Promise((resolve, reject) => view.once('messageInserted', resolve));
10601061

10611062
jasmine.clock().tick(3*ONE_MINUTE_LATER);
@@ -1352,7 +1353,7 @@
13521353
_converse.emit('rosterContactsFetched');
13531354
test_utils.openControlBox();
13541355
await test_utils.waitUntil(() => _converse.rosterview.el.querySelectorAll('.roster-group').length, 300);
1355-
spyOn(_converse, 'emit');
1356+
spyOn(_converse, 'emit').and.callThrough();
13561357
const message = 'This is a received message';
13571358
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
13581359
// We don't already have an open chatbox for this user
@@ -1366,10 +1367,10 @@
13661367
}).c('body').t(message).up()
13671368
.c('active', {'xmlns': 'http://jabber.org/protocol/chatstates'}).tree()
13681369
);
1369-
await test_utils.waitUntil(() => _converse.api.chats.get().length === 2);
1370+
await test_utils.waitUntil(() => (_converse.api.chats.get().length === 2));
13701371
const chatbox = _converse.chatboxes.get(sender_jid);
13711372
expect(chatbox).toBeDefined();
1372-
const view = _converse.chatboxviews.get(sender_jid);
1373+
const view = _converse.api.chatviews.get(sender_jid);
13731374
expect(view).toBeDefined();
13741375

13751376
expect(_converse.emit).toHaveBeenCalledWith('message', jasmine.any(Object));
@@ -1533,7 +1534,7 @@
15331534
// We don't already have an open chatbox for this user
15341535
expect(_converse.chatboxes.get(sender_jid)).not.toBeDefined();
15351536

1536-
let chatbox = _converse.chatboxes.get(sender_jid);
1537+
let chatbox = await _converse.api.chats.get(sender_jid);
15371538
expect(chatbox).not.toBeDefined();
15381539
// onMessage is a handler for received XMPP messages
15391540
await _converse.chatboxes.onMessage(msg);
@@ -1602,7 +1603,7 @@
16021603
fullname = _.isEmpty(fullname)? _converse.bare_jid: fullname;
16031604
await _converse.api.chats.open(sender_jid)
16041605
var msg_text = 'This message will not be sent, due to an error';
1605-
const view = _converse.chatboxviews.get(sender_jid);
1606+
const view = _converse.api.chatviews.get(sender_jid);
16061607
let message = view.model.messages.create({
16071608
'msgid': '82bc02ce-9651-4336-baf0-fa04762ed8d2',
16081609
'fullname': fullname,
@@ -1769,7 +1770,7 @@
17691770
const sender_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
17701771
const message = 'This message is received while the chat area is scrolled up';
17711772
await test_utils.openChatBoxFor(_converse, sender_jid)
1772-
const view = _converse.chatboxviews.get(sender_jid);
1773+
const view = _converse.api.chatviews.get(sender_jid);
17731774
spyOn(view, 'onScrolledDown').and.callThrough();
17741775
// Create enough messages so that there's a scrollbar.
17751776
const promises = [];
@@ -1872,7 +1873,7 @@
18721873
_converse.emit('rosterContactsFetched');
18731874
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
18741875
await test_utils.openChatBoxFor(_converse, contact_jid);
1875-
const view = _converse.chatboxviews.get(contact_jid);
1876+
const view = _converse.api.chatviews.get(contact_jid);
18761877
spyOn(view.model, 'sendMessage').and.callThrough();
18771878

18781879
let stanza = u.toStanza(`
@@ -1923,7 +1924,7 @@
19231924
_converse.emit('rosterContactsFetched');
19241925
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
19251926
await test_utils.openChatBoxFor(_converse, contact_jid)
1926-
const view = _converse.chatboxviews.get(contact_jid);
1927+
const view = _converse.api.chatviews.get(contact_jid);
19271928
spyOn(view.model, 'sendMessage').and.callThrough();
19281929

19291930
let stanza = u.toStanza(`
@@ -1972,7 +1973,7 @@
19721973
_converse.emit('rosterContactsFetched');
19731974
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
19741975
await test_utils.openChatBoxFor(_converse, contact_jid);
1975-
const view = _converse.chatboxviews.get(contact_jid);
1976+
const view = _converse.api.chatviews.get(contact_jid);
19761977
spyOn(view.model, 'sendMessage').and.callThrough();
19771978
const stanza = u.toStanza(`
19781979
<message from="${contact_jid}"
@@ -2003,7 +2004,7 @@
20032004
_converse.emit('rosterContactsFetched');
20042005
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
20052006
await test_utils.openChatBoxFor(_converse, contact_jid)
2006-
const view = await _converse.api.chatviews.get(contact_jid);
2007+
const view = _converse.api.chatviews.get(contact_jid);
20072008
spyOn(view.model, 'sendMessage').and.callThrough();
20082009
const url = base_url+"/logo/conversejs-filled.svg";
20092010

@@ -2041,7 +2042,7 @@
20412042
_converse.emit('rosterContactsFetched');
20422043
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
20432044
await test_utils.openChatBoxFor(_converse, contact_jid);
2044-
const view = await _converse.api.chatviews.get(contact_jid);
2045+
const view = _converse.api.chatviews.get(contact_jid);
20452046
const msgid = u.getUniqueId();
20462047
const stanza = u.toStanza(`
20472048
<message from='${contact_jid}'
@@ -2112,7 +2113,7 @@
21122113

21132114
const contact_jid = mock.cur_names[0].replace(/ /g,'.').toLowerCase() + '@localhost';
21142115
await test_utils.openChatBoxFor(_converse, contact_jid);
2115-
const view = await _converse.api.chatviews.get(contact_jid);
2116+
const view = _converse.api.chatviews.get(contact_jid);
21162117

21172118
let stanza = u.toStanza(`
21182119
<message xmlns="jabber:client"
@@ -2160,7 +2161,7 @@
21602161
async function (done, _converse) {
21612162

21622163
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
2163-
const view = _converse.chatboxviews.get('lounge@localhost');
2164+
const view = _converse.api.chatviews.get('lounge@localhost');
21642165
if (!view.el.querySelectorAll('.chat-area').length) { view.renderChatArea(); }
21652166
const message = 'dummy: Your attention is required';
21662167
const nick = mock.chatroom_names[0],
@@ -2259,7 +2260,7 @@
22592260

22602261
test_utils.createContacts(_converse, 'current');
22612262
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
2262-
const view = _converse.chatboxviews.get('lounge@localhost');
2263+
const view = _converse.api.chatviews.get('lounge@localhost');
22632264
const msg = $msg({
22642265
from: 'lounge@localhost/dummy',
22652266
id: (new Date()).getTime(),
@@ -2279,7 +2280,7 @@
22792280
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
22802281
const jid = 'lounge@localhost';
22812282
const room = _converse.api.rooms.get(jid);
2282-
const view = _converse.chatboxviews.get(jid);
2283+
const view = _converse.api.chatviews.get(jid);
22832284
const stanza = $pres({
22842285
to: 'dummy@localhost/_converse.js-29092160',
22852286
from: '[email protected]/newguy'
@@ -2345,7 +2346,7 @@
23452346
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'dummy');
23462347
const room_jid = 'lounge@localhost';
23472348
const room = _converse.api.rooms.get(room_jid);
2348-
const view = _converse.chatboxviews.get(room_jid);
2349+
const view = _converse.api.chatviews.get(room_jid);
23492350
const textarea = view.el.querySelector('textarea.chat-textarea');
23502351
expect(textarea.value).toBe('');
23512352
view.keyPressed({
@@ -2628,7 +2629,7 @@
26282629
async function (done, _converse) {
26292630

26302631
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
2631-
const view = _converse.chatboxviews.get('lounge@localhost');
2632+
const view = _converse.api.chatviews.get('lounge@localhost');
26322633
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
26332634
_converse.connection._dataRecv(test_utils.createRequest(
26342635
$pres({
@@ -2671,7 +2672,7 @@
26712672
async function (done, _converse) {
26722673

26732674
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
2674-
const view = _converse.chatboxviews.get('lounge@localhost');
2675+
const view = _converse.api.chatviews.get('lounge@localhost');
26752676
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh', 'Link Mauve'].forEach((nick) => {
26762677
_converse.connection._dataRecv(test_utils.createRequest(
26772678
$pres({
@@ -2732,7 +2733,7 @@
27322733
async function (done, _converse) {
27332734

27342735
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
2735-
const view = _converse.chatboxviews.get('lounge@localhost');
2736+
const view = _converse.api.chatviews.get('lounge@localhost');
27362737
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
27372738
_converse.connection._dataRecv(test_utils.createRequest(
27382739
$pres({
@@ -2803,50 +2804,48 @@
28032804
it("includes XEP-0372 references to that person",
28042805
mock.initConverse(
28052806
null, ['rosterGroupsFetched'], {},
2806-
function (done, _converse) {
2807-
2808-
test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom')
2809-
.then(() => {
2810-
const view = _converse.chatboxviews.get('lounge@localhost');
2811-
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
2812-
_converse.connection._dataRecv(test_utils.createRequest(
2813-
$pres({
2814-
'to': 'tom@localhost/resource',
2815-
'from': `lounge@localhost/${nick}`
2816-
})
2817-
.c('x', {xmlns: Strophe.NS.MUC_USER})
2818-
.c('item', {
2819-
'affiliation': 'none',
2820-
'jid': `${nick}@localhost/resource`,
2821-
'role': 'participant'
2822-
})));
2823-
});
2807+
async function (done, _converse) {
28242808

2825-
spyOn(_converse.connection, 'send');
2826-
const textarea = view.el.querySelector('textarea.chat-textarea');
2827-
textarea.value = 'hello @z3r0 @gibson @mr.robot, how are you?'
2828-
const enter_event = {
2829-
'target': textarea,
2830-
'preventDefault': _.noop,
2831-
'stopPropagation': _.noop,
2832-
'keyCode': 13 // Enter
2833-
}
2834-
view.keyPressed(enter_event);
2835-
2836-
const msg = _converse.connection.send.calls.all()[0].args[0];
2837-
expect(msg.toLocaleString())
2838-
.toBe(`<message from="dummy@localhost/resource" id="${msg.nodeTree.getAttribute("id")}" `+
2839-
`to="lounge@localhost" type="groupchat" `+
2840-
`xmlns="jabber:client">`+
2841-
`<body>hello z3r0 gibson mr.robot, how are you?</body>`+
2842-
`<active xmlns="http://jabber.org/protocol/chatstates"/>`+
2843-
`<reference begin="18" end="26" type="mention" uri="xmpp:mr.robot@localhost" xmlns="urn:xmpp:reference:0"/>`+
2844-
`<reference begin="11" end="17" type="mention" uri="xmpp:gibson@localhost" xmlns="urn:xmpp:reference:0"/>`+
2845-
`<reference begin="6" end="10" type="mention" uri="xmpp:z3r0@localhost" xmlns="urn:xmpp:reference:0"/>`+
2846-
`<origin-id id="${msg.nodeTree.querySelector('origin-id').getAttribute("id")}" xmlns="urn:xmpp:sid:0"/>`+
2847-
`</message>`);
2848-
done();
2849-
}).catch(_.partial(console.error, _));
2809+
await test_utils.openAndEnterChatRoom(_converse, 'lounge', 'localhost', 'tom');
2810+
const view = _converse.api.chatviews.get('lounge@localhost');
2811+
['z3r0', 'mr.robot', 'gibson', 'sw0rdf1sh'].forEach((nick) => {
2812+
_converse.connection._dataRecv(test_utils.createRequest(
2813+
$pres({
2814+
'to': 'tom@localhost/resource',
2815+
'from': `lounge@localhost/${nick}`
2816+
})
2817+
.c('x', {xmlns: Strophe.NS.MUC_USER})
2818+
.c('item', {
2819+
'affiliation': 'none',
2820+
'jid': `${nick}@localhost/resource`,
2821+
'role': 'participant'
2822+
})));
2823+
});
2824+
2825+
spyOn(_converse.connection, 'send');
2826+
const textarea = view.el.querySelector('textarea.chat-textarea');
2827+
textarea.value = 'hello @z3r0 @gibson @mr.robot, how are you?'
2828+
const enter_event = {
2829+
'target': textarea,
2830+
'preventDefault': _.noop,
2831+
'stopPropagation': _.noop,
2832+
'keyCode': 13 // Enter
2833+
}
2834+
view.keyPressed(enter_event);
2835+
2836+
const msg = _converse.connection.send.calls.all()[0].args[0];
2837+
expect(msg.toLocaleString())
2838+
.toBe(`<message from="dummy@localhost/resource" id="${msg.nodeTree.getAttribute("id")}" `+
2839+
`to="lounge@localhost" type="groupchat" `+
2840+
`xmlns="jabber:client">`+
2841+
`<body>hello z3r0 gibson mr.robot, how are you?</body>`+
2842+
`<active xmlns="http://jabber.org/protocol/chatstates"/>`+
2843+
`<reference begin="18" end="26" type="mention" uri="xmpp:mr.robot@localhost" xmlns="urn:xmpp:reference:0"/>`+
2844+
`<reference begin="11" end="17" type="mention" uri="xmpp:gibson@localhost" xmlns="urn:xmpp:reference:0"/>`+
2845+
`<reference begin="6" end="10" type="mention" uri="xmpp:z3r0@localhost" xmlns="urn:xmpp:reference:0"/>`+
2846+
`<origin-id id="${msg.nodeTree.querySelector('origin-id').getAttribute("id")}" xmlns="urn:xmpp:sid:0"/>`+
2847+
`</message>`);
2848+
done();
28502849
}));
28512850
});
28522851
});

0 commit comments

Comments
 (0)