zulip/frontend_tests/node_tests/compose_fade.js
Steve Howell b994889315 node tests: Just set i18n every time.
Explicitly stubbing i18n in 48 different files
is mostly busy work at this point, and it doesn't
provide much signal, since often it's invoked
only to satisfy transitive dependencies.
2020-02-28 17:11:24 -08:00

80 lines
1.9 KiB
JavaScript

set_global('blueslip', {});
global.blueslip.warn = function () {};
zrequire('stream_data');
zrequire('people');
zrequire('compose_fade');
const me = {
email: '[email protected]',
user_id: 30,
full_name: 'Me Myself',
};
const alice = {
email: '[email protected]',
user_id: 31,
full_name: 'Alice',
};
const bob = {
email: '[email protected]',
user_id: 32,
full_name: 'Bob',
};
people.add_in_realm(me);
people.initialize_current_user(me.user_id);
people.add_in_realm(alice);
people.add_in_realm(bob);
run_test('set_focused_recipient', () => {
const sub = {
stream_id: 101,
name: 'social',
subscribed: true,
can_access_subscribers: true,
};
stream_data.add_sub(sub);
stream_data.set_subscribers(sub, [me.user_id, alice.user_id]);
global.$ = function (selector) {
switch (selector) {
case '#stream_message_recipient_stream':
return {
val: function () {
return 'social';
},
};
case '#stream_message_recipient_topic':
return {
val: function () {
return 'lunch';
},
};
}
};
compose_fade.set_focused_recipient('stream');
assert.equal(compose_fade.would_receive_message('[email protected]'), true);
assert.equal(compose_fade.would_receive_message('[email protected]'), true);
assert.equal(compose_fade.would_receive_message('[email protected]'), false);
assert.equal(compose_fade.would_receive_message('[email protected]'), true);
const good_msg = {
type: 'stream',
stream_id: 101,
topic: 'lunch',
};
const bad_msg = {
type: 'stream',
stream_id: 999,
topic: 'lunch',
};
assert(!compose_fade.should_fade_message(good_msg));
assert(compose_fade.should_fade_message(bad_msg));
});