mirror of https://github.com/zulip/zulip.git
91 lines
2.2 KiB
JavaScript
91 lines
2.2 KiB
JavaScript
set_global('document', {});
|
|
global.stub_out_jquery();
|
|
|
|
add_dependencies({
|
|
people: 'js/people.js',
|
|
});
|
|
|
|
var reactions = require("js/reactions.js");
|
|
|
|
set_global('emoji', {
|
|
emoji_name_to_css_class: function (name) {
|
|
return name + '-css'; // only to make testing easy
|
|
},
|
|
realm_emojis: {},
|
|
});
|
|
|
|
set_global('blueslip', {
|
|
warn: function () {},
|
|
});
|
|
|
|
set_global('page_params', {user_id: 5});
|
|
|
|
(function make_people() {
|
|
var alice = {
|
|
email: 'alice@example.com',
|
|
user_id: 5,
|
|
full_name: 'Alice',
|
|
};
|
|
var bob = {
|
|
email: 'bob@example.com',
|
|
user_id: 6,
|
|
full_name: 'Bob van Roberts',
|
|
};
|
|
var cali = {
|
|
email: 'cali@example.com',
|
|
user_id: 7,
|
|
full_name: 'Cali',
|
|
};
|
|
people.add_in_realm(alice);
|
|
people.add_in_realm(bob);
|
|
people.add_in_realm(cali);
|
|
}());
|
|
|
|
(function test_basics() {
|
|
var message = {
|
|
id: 1001,
|
|
reactions: [
|
|
{emoji_name: 'smile', user: {id: 5}},
|
|
{emoji_name: 'smile', user: {id: 6}},
|
|
{emoji_name: 'frown', user: {id: 7}},
|
|
|
|
// add some bogus user_ids
|
|
{emoji_name: 'octopus', user: {id: 8888}},
|
|
{emoji_name: 'frown', user: {id: 9999}},
|
|
],
|
|
};
|
|
|
|
set_global('message_store', {
|
|
get: function (message_id) {
|
|
assert.equal(message_id, 1001);
|
|
return message;
|
|
},
|
|
});
|
|
var result = reactions.get_message_reactions(message);
|
|
|
|
assert(reactions.current_user_has_reacted_to_emoji(message, 'smile'));
|
|
assert(!reactions.current_user_has_reacted_to_emoji(message, 'frown'));
|
|
|
|
result.sort(function (a, b) { return a.count - b.count; });
|
|
|
|
var expected_result = [
|
|
{
|
|
emoji_name: 'frown',
|
|
emoji_name_css_class: 'frown-css',
|
|
count: 1,
|
|
title: 'Cali reacted with :frown:',
|
|
emoji_alt_code: undefined,
|
|
class: 'message_reaction',
|
|
},
|
|
{
|
|
emoji_name: 'smile',
|
|
emoji_name_css_class: 'smile-css',
|
|
count: 2,
|
|
title: 'You (click to remove) and Bob van Roberts reacted with :smile:',
|
|
emoji_alt_code: undefined,
|
|
class: 'message_reaction reacted',
|
|
},
|
|
];
|
|
assert.deepEqual(result, expected_result);
|
|
}());
|