mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
refactor: Eliminate presence_info params.
It's easier to reason about the activity.js code if we just make it clear that presence_info is a global singleton. Going forward, functions that use that data will explicitly refer to exports.presence_info. This change makes some tests slightly more awkward to set up, but with the actual code you now don't have to question whether there are multiple copies of presence_info to maintain. The diff for compare_function is a bit confusing to read, but it's basically just de-dented since we don't need to parameterize the compare function any more.
This commit is contained in:
@@ -90,12 +90,13 @@ global.compile_template('user_presence_rows');
|
||||
(function test_sort_users() {
|
||||
var user_ids = [alice.user_id, fred.user_id, jill.user_id];
|
||||
|
||||
var user_info = {};
|
||||
user_info[alice.user_id] = { status: 'inactive' };
|
||||
user_info[fred.user_id] = { status: 'active' };
|
||||
user_info[jill.user_id] = { status: 'active' };
|
||||
var presence_info = {};
|
||||
presence_info[alice.user_id] = { status: 'inactive' };
|
||||
presence_info[fred.user_id] = { status: 'active' };
|
||||
presence_info[jill.user_id] = { status: 'active' };
|
||||
|
||||
activity._sort_users(user_ids, user_info);
|
||||
activity.presence_info = presence_info;
|
||||
activity._sort_users(user_ids);
|
||||
|
||||
assert.deepEqual(user_ids, [
|
||||
fred.user_id,
|
||||
@@ -193,14 +194,15 @@ global.compile_template('user_presence_rows');
|
||||
var huddle = 'alice@zulip.com,fred@zulip.com,jill@zulip.com,mark@zulip.com';
|
||||
huddle = people.emails_strings_to_user_ids_string(huddle);
|
||||
|
||||
var presence_list = {};
|
||||
presence_list[alice.user_id] = { status: 'active' };
|
||||
presence_list[fred.user_id] = { status: 'idle' }; // counts as present
|
||||
var presence_info = {};
|
||||
presence_info[alice.user_id] = { status: 'active' };
|
||||
presence_info[fred.user_id] = { status: 'idle' }; // counts as present
|
||||
// jill not in list
|
||||
presence_list[mark.user_id] = { status: 'offline' }; // does not count
|
||||
presence_info[mark.user_id] = { status: 'offline' }; // does not count
|
||||
activity.presence_info = presence_info;
|
||||
|
||||
assert.equal(
|
||||
activity.huddle_fraction_present(huddle, presence_list),
|
||||
activity.huddle_fraction_present(huddle),
|
||||
'0.50');
|
||||
}());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user