mirror of
https://github.com/zulip/zulip.git
synced 2025-10-24 08:33:43 +00:00
We now trigger an event in user_events.js, and we dynamically build the list of names in pm_list.js by calling out to people.get_recipients(). We have a few variations of functions that build lists of names for huddles, which should be cleaned up eventually. They are called at different times in the code path, so the different functions, while doing mostly the same thing, start with different data sources.
85 lines
1.9 KiB
JavaScript
85 lines
1.9 KiB
JavaScript
global.stub_out_jquery();
|
|
|
|
add_dependencies({
|
|
people: 'js/people.js',
|
|
});
|
|
|
|
var people = global.people;
|
|
|
|
var user_events = require("js/user_events.js");
|
|
|
|
set_global('activity', {
|
|
redraw: function () {},
|
|
});
|
|
set_global('admin', {
|
|
update_user_full_name: function () {},
|
|
show_or_hide_menu_item: function () {},
|
|
});
|
|
set_global('page_params', {
|
|
is_admin: true,
|
|
});
|
|
|
|
set_global('pm_list', {
|
|
update_private_messages: function () {},
|
|
});
|
|
|
|
set_global('message_live_update', {
|
|
});
|
|
|
|
var me = {
|
|
email: 'me@example.com',
|
|
user_id: 30,
|
|
full_name: 'Me Myself',
|
|
is_admin: true,
|
|
};
|
|
|
|
function initialize() {
|
|
people.init();
|
|
people.add(me);
|
|
people.initialize_current_user(me.user_id);
|
|
}
|
|
|
|
initialize();
|
|
|
|
(function test_updates() {
|
|
var person;
|
|
|
|
var isaac = {
|
|
email: 'isaac@example.com',
|
|
user_id: 32,
|
|
full_name: 'Isaac Newton',
|
|
};
|
|
people.add(isaac);
|
|
|
|
user_events.update_person({user_id: isaac.user_id, is_admin: true});
|
|
person = people.get_by_email(isaac.email);
|
|
assert.equal(person.full_name, 'Isaac Newton');
|
|
assert.equal(person.is_admin, true);
|
|
|
|
var user_id;
|
|
var full_name;
|
|
global.message_live_update.update_user_full_name = function (user_id_arg, full_name_arg) {
|
|
user_id = user_id_arg;
|
|
full_name = full_name_arg;
|
|
};
|
|
|
|
user_events.update_person({user_id: isaac.user_id, full_name: 'Sir Isaac'});
|
|
person = people.get_by_email(isaac.email);
|
|
assert.equal(person.full_name, 'Sir Isaac');
|
|
assert.equal(person.is_admin, true);
|
|
assert.equal(user_id, isaac.user_id);
|
|
assert.equal(full_name, 'Sir Isaac');
|
|
|
|
user_events.update_person({user_id: me.user_id, is_admin: false});
|
|
assert(!global.page_params.is_admin);
|
|
|
|
user_events.update_person({user_id: me.user_id, full_name: 'Me V2'});
|
|
assert.equal(people.my_full_name(), 'Me V2');
|
|
assert.equal(user_id, me.user_id);
|
|
assert.equal(full_name, 'Me V2');
|
|
|
|
}());
|
|
|
|
|
|
|