mirror of
https://github.com/zulip/zulip.git
synced 2025-11-16 20:02:15 +00:00
tests: Use override for current_user.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
8e49ca163b
commit
9cd2408e0d
@@ -164,7 +164,7 @@ run_test("reload_defaults", () => {
|
|||||||
|
|
||||||
test("get_status", ({override}) => {
|
test("get_status", ({override}) => {
|
||||||
page_params.realm_users = [];
|
page_params.realm_users = [];
|
||||||
current_user.user_id = 999;
|
override(current_user, "user_id", 999);
|
||||||
|
|
||||||
assert.equal(presence.get_status(current_user.user_id), "active");
|
assert.equal(presence.get_status(current_user.user_id), "active");
|
||||||
assert.equal(presence.get_status(alice.user_id), "active");
|
assert.equal(presence.get_status(alice.user_id), "active");
|
||||||
|
|||||||
@@ -166,7 +166,7 @@ test("user_circle, level", ({override}) => {
|
|||||||
assert.equal(buddy_data.level(fred.user_id), 3);
|
assert.equal(buddy_data.level(fred.user_id), 3);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("title_data", () => {
|
test("title_data", ({override}) => {
|
||||||
page_params.presence_history_limit_days_for_web_app = 365;
|
page_params.presence_history_limit_days_for_web_app = 365;
|
||||||
add_canned_users();
|
add_canned_users();
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ test("title_data", () => {
|
|||||||
third_line: "translated: Active now",
|
third_line: "translated: Active now",
|
||||||
show_you: true,
|
show_you: true,
|
||||||
};
|
};
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
assert.deepEqual(buddy_data.get_title_data(me.user_id, is_group), expected_data);
|
assert.deepEqual(buddy_data.get_title_data(me.user_id, is_group), expected_data);
|
||||||
|
|
||||||
expected_data = {
|
expected_data = {
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ test_ui("send_message", ({override, override_rewire, mock_template}) => {
|
|||||||
stub_state = initialize_state_stub_dict();
|
stub_state = initialize_state_stub_dict();
|
||||||
compose_state.topic("");
|
compose_state.topic("");
|
||||||
compose_state.set_message_type("private");
|
compose_state.set_message_type("private");
|
||||||
current_user.user_id = new_user.user_id;
|
override(current_user, "user_id", new_user.user_id);
|
||||||
override(compose_pm_pill, "get_emails", () => "alice@example.com");
|
override(compose_pm_pill, "get_emails", () => "alice@example.com");
|
||||||
|
|
||||||
const server_message_id = 127;
|
const server_message_id = 127;
|
||||||
@@ -401,7 +401,7 @@ test_ui("enter_with_preview_open", ({override, override_rewire}) => {
|
|||||||
show_button_spinner_called = true;
|
show_button_spinner_called = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
current_user.user_id = new_user.user_id;
|
override(current_user, "user_id", new_user.user_id);
|
||||||
|
|
||||||
// Test sending a message with content.
|
// Test sending a message with content.
|
||||||
compose_state.set_message_type("stream");
|
compose_state.set_message_type("stream");
|
||||||
|
|||||||
@@ -305,14 +305,14 @@ test_ui("validate", ({mock_template}) => {
|
|||||||
assert.ok(missing_topic_error_rendered);
|
assert.ok(missing_topic_error_rendered);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_ui("get_invalid_recipient_emails", ({override_rewire}) => {
|
test_ui("get_invalid_recipient_emails", ({override, override_rewire}) => {
|
||||||
const welcome_bot = {
|
const welcome_bot = {
|
||||||
email: "welcome-bot@example.com",
|
email: "welcome-bot@example.com",
|
||||||
user_id: 124,
|
user_id: 124,
|
||||||
full_name: "Welcome Bot",
|
full_name: "Welcome Bot",
|
||||||
};
|
};
|
||||||
|
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
|
|
||||||
const params = {};
|
const params = {};
|
||||||
params.realm_users = [];
|
params.realm_users = [];
|
||||||
@@ -325,8 +325,8 @@ test_ui("get_invalid_recipient_emails", ({override_rewire}) => {
|
|||||||
assert.deepEqual(compose_validate.get_invalid_recipient_emails(), []);
|
assert.deepEqual(compose_validate.get_invalid_recipient_emails(), []);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_ui("test_stream_wildcard_mention_allowed", ({override_rewire}) => {
|
test_ui("test_stream_wildcard_mention_allowed", ({override, override_rewire}) => {
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
|
|
||||||
// First, check for large streams (>15 subscribers) where the wildcard mention
|
// First, check for large streams (>15 subscribers) where the wildcard mention
|
||||||
// policy matters.
|
// policy matters.
|
||||||
@@ -334,40 +334,40 @@ test_ui("test_stream_wildcard_mention_allowed", ({override_rewire}) => {
|
|||||||
|
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
settings_config.wildcard_mention_policy_values.by_everyone.code;
|
settings_config.wildcard_mention_policy_values.by_everyone.code;
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
settings_config.wildcard_mention_policy_values.nobody.code;
|
settings_config.wildcard_mention_policy_values.nobody.code;
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
settings_config.wildcard_mention_policy_values.by_members.code;
|
settings_config.wildcard_mention_policy_values.by_members.code;
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
settings_config.wildcard_mention_policy_values.by_moderators_only.code;
|
settings_config.wildcard_mention_policy_values.by_moderators_only.code;
|
||||||
current_user.is_moderator = false;
|
override(current_user, "is_moderator", false);
|
||||||
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
current_user.is_moderator = true;
|
override(current_user, "is_moderator", true);
|
||||||
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
settings_config.wildcard_mention_policy_values.by_admins_only.code;
|
settings_config.wildcard_mention_policy_values.by_admins_only.code;
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
// TODO: Add a by_admins_only case when we implement stream-level administrators.
|
// TODO: Add a by_admins_only case when we implement stream-level administrators.
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
@@ -377,7 +377,7 @@ test_ui("test_stream_wildcard_mention_allowed", ({override_rewire}) => {
|
|||||||
realm.realm_waiting_period_threshold = 10;
|
realm.realm_waiting_period_threshold = 10;
|
||||||
|
|
||||||
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(!compose_validate.stream_wildcard_mention_allowed());
|
||||||
|
|
||||||
// Now, check for small streams (<=15 subscribers) where the wildcard mention
|
// Now, check for small streams (<=15 subscribers) where the wildcard mention
|
||||||
@@ -385,18 +385,18 @@ test_ui("test_stream_wildcard_mention_allowed", ({override_rewire}) => {
|
|||||||
override_rewire(peer_data, "get_subscriber_count", () => 14);
|
override_rewire(peer_data, "get_subscriber_count", () => 14);
|
||||||
realm.realm_wildcard_mention_policy =
|
realm.realm_wildcard_mention_policy =
|
||||||
settings_config.wildcard_mention_policy_values.by_admins_only.code;
|
settings_config.wildcard_mention_policy_values.by_admins_only.code;
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
assert.ok(compose_validate.stream_wildcard_mention_allowed());
|
||||||
});
|
});
|
||||||
|
|
||||||
test_ui("validate_stream_message", ({override_rewire, mock_template}) => {
|
test_ui("validate_stream_message", ({override, override_rewire, mock_template}) => {
|
||||||
// This test is in kind of continuation to test_validate but since it is
|
// This test is in kind of continuation to test_validate but since it is
|
||||||
// primarily used to get coverage over functions called from validate()
|
// primarily used to get coverage over functions called from validate()
|
||||||
// we are separating it up in different test. Though their relative position
|
// we are separating it up in different test. Though their relative position
|
||||||
// of execution should not be changed.
|
// of execution should not be changed.
|
||||||
mock_banners();
|
mock_banners();
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
realm.realm_mandatory_topics = false;
|
realm.realm_mandatory_topics = false;
|
||||||
|
|
||||||
const special_sub = {
|
const special_sub = {
|
||||||
@@ -440,13 +440,13 @@ test_ui("validate_stream_message", ({override_rewire, mock_template}) => {
|
|||||||
assert.ok(wildcards_not_allowed_rendered);
|
assert.ok(wildcards_not_allowed_rendered);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_ui("test_validate_stream_message_post_policy_admin_only", ({mock_template}) => {
|
test_ui("test_validate_stream_message_post_policy_admin_only", ({mock_template, override}) => {
|
||||||
// This test is in continuation with test_validate but it has been separated out
|
// This test is in continuation with test_validate but it has been separated out
|
||||||
// for better readability. Their relative position of execution should not be changed.
|
// for better readability. Their relative position of execution should not be changed.
|
||||||
// Although the position with respect to test_validate_stream_message does not matter
|
// Although the position with respect to test_validate_stream_message does not matter
|
||||||
// as different stream is used for this test.
|
// as different stream is used for this test.
|
||||||
mock_banners();
|
mock_banners();
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
const sub_stream_102 = {
|
const sub_stream_102 = {
|
||||||
stream_id: 102,
|
stream_id: 102,
|
||||||
name: "stream102",
|
name: "stream102",
|
||||||
@@ -476,8 +476,8 @@ test_ui("test_validate_stream_message_post_policy_admin_only", ({mock_template})
|
|||||||
// Reset error message.
|
// Reset error message.
|
||||||
compose_state.set_stream_id(social_sub.stream_id);
|
compose_state.set_stream_id(social_sub.stream_id);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
|
|
||||||
compose_state.topic("topic102");
|
compose_state.topic("topic102");
|
||||||
compose_state.set_stream_id(sub_stream_102.stream_id);
|
compose_state.set_stream_id(sub_stream_102.stream_id);
|
||||||
@@ -486,12 +486,12 @@ test_ui("test_validate_stream_message_post_policy_admin_only", ({mock_template})
|
|||||||
assert.ok(banner_rendered);
|
assert.ok(banner_rendered);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_ui("test_validate_stream_message_post_policy_moderators_only", ({mock_template}) => {
|
test_ui("test_validate_stream_message_post_policy_moderators_only", ({mock_template, override}) => {
|
||||||
mock_banners();
|
mock_banners();
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
current_user.is_moderator = false;
|
override(current_user, "is_moderator", false);
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
|
|
||||||
const sub = {
|
const sub = {
|
||||||
stream_id: 104,
|
stream_id: 104,
|
||||||
@@ -520,40 +520,43 @@ test_ui("test_validate_stream_message_post_policy_moderators_only", ({mock_templ
|
|||||||
// Reset error message.
|
// Reset error message.
|
||||||
compose_state.set_stream_id(social_sub.stream_id);
|
compose_state.set_stream_id(social_sub.stream_id);
|
||||||
|
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
assert.ok(!compose_validate.validate());
|
assert.ok(!compose_validate.validate());
|
||||||
assert.ok(banner_rendered);
|
assert.ok(banner_rendered);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_ui("test_validate_stream_message_post_policy_full_members_only", ({mock_template}) => {
|
test_ui(
|
||||||
mock_banners();
|
"test_validate_stream_message_post_policy_full_members_only",
|
||||||
current_user.is_admin = false;
|
({mock_template, override}) => {
|
||||||
current_user.is_guest = true;
|
mock_banners();
|
||||||
const sub = {
|
override(current_user, "is_admin", false);
|
||||||
stream_id: 103,
|
override(current_user, "is_guest", true);
|
||||||
name: "stream103",
|
const sub = {
|
||||||
subscribed: true,
|
stream_id: 103,
|
||||||
stream_post_policy: settings_config.stream_post_policy_values.non_new_members.code,
|
name: "stream103",
|
||||||
};
|
subscribed: true,
|
||||||
|
stream_post_policy: settings_config.stream_post_policy_values.non_new_members.code,
|
||||||
|
};
|
||||||
|
|
||||||
stream_data.add_sub(sub);
|
stream_data.add_sub(sub);
|
||||||
compose_state.topic("topic103");
|
compose_state.topic("topic103");
|
||||||
compose_state.set_stream_id(sub.stream_id);
|
compose_state.set_stream_id(sub.stream_id);
|
||||||
let banner_rendered = false;
|
let banner_rendered = false;
|
||||||
mock_template("compose_banner/compose_banner.hbs", false, (data) => {
|
mock_template("compose_banner/compose_banner.hbs", false, (data) => {
|
||||||
assert.equal(data.classname, compose_banner.CLASSNAMES.no_post_permissions);
|
assert.equal(data.classname, compose_banner.CLASSNAMES.no_post_permissions);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
data.banner_text,
|
data.banner_text,
|
||||||
$t({
|
$t({
|
||||||
defaultMessage: "You do not have permission to post in this channel.",
|
defaultMessage: "You do not have permission to post in this channel.",
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
banner_rendered = true;
|
banner_rendered = true;
|
||||||
return "<banner-stub>";
|
return "<banner-stub>";
|
||||||
});
|
});
|
||||||
assert.ok(!compose_validate.validate());
|
assert.ok(!compose_validate.validate());
|
||||||
assert.ok(banner_rendered);
|
assert.ok(banner_rendered);
|
||||||
});
|
},
|
||||||
|
);
|
||||||
|
|
||||||
test_ui("test_check_overflow_text", ({mock_template}) => {
|
test_ui("test_check_overflow_text", ({mock_template}) => {
|
||||||
realm.max_message_length = 10000;
|
realm.max_message_length = 10000;
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ test("videos", ({override}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
realm.realm_video_chat_provider = realm_available_video_chat_providers.zoom.id;
|
realm.realm_video_chat_provider = realm_available_video_chat_providers.zoom.id;
|
||||||
current_user.has_zoom_token = false;
|
override(current_user, "has_zoom_token", false);
|
||||||
|
|
||||||
window.open = (url) => {
|
window.open = (url) => {
|
||||||
assert.ok(url.endsWith("/calls/zoom/register"));
|
assert.ok(url.endsWith("/calls/zoom/register"));
|
||||||
|
|||||||
@@ -1969,10 +1969,10 @@ function possibly_silent_list(list, is_silent) {
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
test("filter_and_sort_mentions (normal)", () => {
|
test("filter_and_sort_mentions (normal)", ({override}) => {
|
||||||
compose_state.set_message_type("stream");
|
compose_state.set_message_type("stream");
|
||||||
const is_silent = false;
|
const is_silent = false;
|
||||||
current_user.user_id = 101;
|
override(current_user, "user_id", 101);
|
||||||
let suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
let suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
||||||
|
|
||||||
const mention_all = broadcast_item(ct.broadcast_mentions()[0]);
|
const mention_all = broadcast_item(ct.broadcast_mentions()[0]);
|
||||||
@@ -1983,7 +1983,7 @@ test("filter_and_sort_mentions (normal)", () => {
|
|||||||
|
|
||||||
// call_center group is shown in typeahead even when user is member of
|
// call_center group is shown in typeahead even when user is member of
|
||||||
// one of the subgroups of can_mention_group.
|
// one of the subgroups of can_mention_group.
|
||||||
current_user.user_id = 104;
|
override(current_user, "user_id", 104);
|
||||||
suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
suggestions,
|
suggestions,
|
||||||
@@ -1993,7 +1993,7 @@ test("filter_and_sort_mentions (normal)", () => {
|
|||||||
// call_center group is not shown in typeahead when user is neither
|
// call_center group is not shown in typeahead when user is neither
|
||||||
// a direct member of can_mention_group nor a member of any of its
|
// a direct member of can_mention_group nor a member of any of its
|
||||||
// recursive subgroups.
|
// recursive subgroups.
|
||||||
current_user.user_id = 102;
|
override(current_user, "user_id", 102);
|
||||||
suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
suggestions,
|
suggestions,
|
||||||
@@ -2001,7 +2001,7 @@ test("filter_and_sort_mentions (normal)", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("filter_and_sort_mentions (silent)", () => {
|
test("filter_and_sort_mentions (silent)", ({override}) => {
|
||||||
const is_silent = true;
|
const is_silent = true;
|
||||||
|
|
||||||
let suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
let suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
||||||
@@ -2014,7 +2014,7 @@ test("filter_and_sort_mentions (silent)", () => {
|
|||||||
// call_center group is shown in typeahead irrespective of whether
|
// call_center group is shown in typeahead irrespective of whether
|
||||||
// user is member of can_mention_group or its subgroups for a
|
// user is member of can_mention_group or its subgroups for a
|
||||||
// silent mention.
|
// silent mention.
|
||||||
current_user.user_id = 102;
|
override(current_user, "user_id", 102);
|
||||||
suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
suggestions = ct.filter_and_sort_mentions(is_silent, "al");
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
suggestions,
|
suggestions,
|
||||||
@@ -2022,7 +2022,7 @@ test("filter_and_sort_mentions (silent)", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("typeahead_results", () => {
|
test("typeahead_results", ({override}) => {
|
||||||
const stream_list = [
|
const stream_list = [
|
||||||
denmark_stream,
|
denmark_stream,
|
||||||
sweden_stream,
|
sweden_stream,
|
||||||
@@ -2136,7 +2136,7 @@ test("typeahead_results", () => {
|
|||||||
// Earlier user group and stream mentions were autocompleted by their
|
// Earlier user group and stream mentions were autocompleted by their
|
||||||
// description too. This is now removed as it often led to unexpected
|
// description too. This is now removed as it often led to unexpected
|
||||||
// behaviour, and did not have any great discoverability advantage.
|
// behaviour, and did not have any great discoverability advantage.
|
||||||
current_user.user_id = 101;
|
override(current_user, "user_id", 101);
|
||||||
// Autocomplete user group mentions by group name.
|
// Autocomplete user group mentions by group name.
|
||||||
assert_mentions_matches("hamletchar", [not_silent(hamletcharacters)]);
|
assert_mentions_matches("hamletchar", [not_silent(hamletcharacters)]);
|
||||||
|
|
||||||
|
|||||||
@@ -127,7 +127,6 @@ message_lists.all_rendered_message_lists = () => [cached_message_list, message_l
|
|||||||
|
|
||||||
// page_params is highly coupled to dispatching now
|
// page_params is highly coupled to dispatching now
|
||||||
page_params.test_suite = false;
|
page_params.test_suite = false;
|
||||||
current_user.is_admin = true;
|
|
||||||
realm.realm_description = "already set description";
|
realm.realm_description = "already set description";
|
||||||
|
|
||||||
// For data-oriented modules, just use them, don't stub them.
|
// For data-oriented modules, just use them, don't stub them.
|
||||||
@@ -453,7 +452,7 @@ run_test("scheduled_messages", ({override}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
run_test("realm settings", ({override}) => {
|
run_test("realm settings", ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
realm.realm_date_created = new Date("2023-01-01Z");
|
realm.realm_date_created = new Date("2023-01-01Z");
|
||||||
|
|
||||||
override(settings_org, "check_disable_direct_message_initiator_group_dropdown", noop);
|
override(settings_org, "check_disable_direct_message_initiator_group_dropdown", noop);
|
||||||
@@ -834,7 +833,7 @@ run_test("submessage", ({override}) => {
|
|||||||
|
|
||||||
run_test("typing", ({override}) => {
|
run_test("typing", ({override}) => {
|
||||||
// Simulate that we are not typing.
|
// Simulate that we are not typing.
|
||||||
current_user.user_id = typing_person1.user_id + 1;
|
override(current_user, "user_id", typing_person1.user_id + 1);
|
||||||
|
|
||||||
let event = event_fixtures.typing__start;
|
let event = event_fixtures.typing__start;
|
||||||
{
|
{
|
||||||
@@ -857,10 +856,10 @@ run_test("typing", ({override}) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get line coverage--we ignore our own typing events.
|
// Get line coverage--we ignore our own typing events.
|
||||||
current_user.user_id = typing_person1.user_id;
|
override(current_user, "user_id", typing_person1.user_id);
|
||||||
event = event_fixtures.typing__start;
|
event = event_fixtures.typing__start;
|
||||||
dispatch(event);
|
dispatch(event);
|
||||||
current_user.user_id = undefined; // above change shouldn't effect stream_typing tests below
|
override(current_user, "user_id", undefined); // above change shouldn't effect stream_typing tests below
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("stream_typing", ({override}) => {
|
run_test("stream_typing", ({override}) => {
|
||||||
|
|||||||
@@ -188,8 +188,8 @@ run_test("process_from_server for messages to add to narrow", ({override}) => {
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("build_display_recipient", () => {
|
run_test("build_display_recipient", ({override}) => {
|
||||||
current_user.user_id = 123;
|
override(current_user, "user_id", 123);
|
||||||
|
|
||||||
const params = {};
|
const params = {};
|
||||||
params.realm_users = [
|
params.realm_users = [
|
||||||
@@ -321,7 +321,7 @@ run_test("insert_local_message streams", ({override}) => {
|
|||||||
run_test("insert_local_message direct message", ({override}) => {
|
run_test("insert_local_message direct message", ({override}) => {
|
||||||
const local_id_float = 102.01;
|
const local_id_float = 102.01;
|
||||||
|
|
||||||
current_user.user_id = 123;
|
override(current_user, "user_id", 123);
|
||||||
|
|
||||||
const params = {};
|
const params = {};
|
||||||
params.realm_users = [
|
params.realm_users = [
|
||||||
|
|||||||
@@ -2567,8 +2567,8 @@ run_test("equals", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("adjusted_terms_if_moved", () => {
|
run_test("adjusted_terms_if_moved", ({override}) => {
|
||||||
current_user.email = me.email;
|
override(current_user, "email", me.email);
|
||||||
// should return null for non-stream messages containing no
|
// should return null for non-stream messages containing no
|
||||||
// `with` operator
|
// `with` operator
|
||||||
let raw_terms = [{operator: "channel", operand: foo_stream_id.toString()}];
|
let raw_terms = [{operator: "channel", operand: foo_stream_id.toString()}];
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ run_test("is_topic_editable", ({override}) => {
|
|||||||
};
|
};
|
||||||
realm.realm_allow_message_editing = true;
|
realm.realm_allow_message_editing = true;
|
||||||
override(settings_data, "user_can_move_messages_to_another_topic", () => true);
|
override(settings_data, "user_can_move_messages_to_another_topic", () => true);
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
|
|
||||||
assert.equal(message_edit.is_topic_editable(message), false);
|
assert.equal(message_edit.is_topic_editable(message), false);
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ run_test("is_topic_editable", ({override}) => {
|
|||||||
override(settings_data, "user_can_move_messages_to_another_topic", () => false);
|
override(settings_data, "user_can_move_messages_to_another_topic", () => false);
|
||||||
assert.equal(message_edit.is_topic_editable(message), false);
|
assert.equal(message_edit.is_topic_editable(message), false);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(message_edit.is_topic_editable(message), false);
|
assert.equal(message_edit.is_topic_editable(message), false);
|
||||||
|
|
||||||
message.topic = "translated: (no topic)";
|
message.topic = "translated: (no topic)";
|
||||||
@@ -128,7 +128,7 @@ run_test("is_topic_editable", ({override}) => {
|
|||||||
message.timestamp = current_timestamp - 600000;
|
message.timestamp = current_timestamp - 600000;
|
||||||
assert.equal(message_edit.is_topic_editable(message), false);
|
assert.equal(message_edit.is_topic_editable(message), false);
|
||||||
|
|
||||||
current_user.is_moderator = true;
|
override(current_user, "is_moderator", true);
|
||||||
assert.equal(message_edit.is_topic_editable(message), true);
|
assert.equal(message_edit.is_topic_editable(message), true);
|
||||||
|
|
||||||
realm.realm_allow_message_editing = false;
|
realm.realm_allow_message_editing = false;
|
||||||
@@ -146,7 +146,7 @@ run_test("is_stream_editable", ({override}) => {
|
|||||||
};
|
};
|
||||||
realm.realm_allow_message_editing = true;
|
realm.realm_allow_message_editing = true;
|
||||||
override(settings_data, "user_can_move_messages_between_streams", () => true);
|
override(settings_data, "user_can_move_messages_between_streams", () => true);
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
|
|
||||||
assert.equal(message_edit.is_stream_editable(message), false);
|
assert.equal(message_edit.is_stream_editable(message), false);
|
||||||
|
|
||||||
@@ -163,7 +163,7 @@ run_test("is_stream_editable", ({override}) => {
|
|||||||
override(settings_data, "user_can_move_messages_between_streams", () => false);
|
override(settings_data, "user_can_move_messages_between_streams", () => false);
|
||||||
assert.equal(message_edit.is_stream_editable(message), false);
|
assert.equal(message_edit.is_stream_editable(message), false);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(message_edit.is_stream_editable(message), false);
|
assert.equal(message_edit.is_stream_editable(message), false);
|
||||||
|
|
||||||
realm.realm_move_messages_between_streams_limit_seconds = 259200;
|
realm.realm_move_messages_between_streams_limit_seconds = 259200;
|
||||||
@@ -175,12 +175,12 @@ run_test("is_stream_editable", ({override}) => {
|
|||||||
message.timestamp = current_timestamp - 600000;
|
message.timestamp = current_timestamp - 600000;
|
||||||
assert.equal(message_edit.is_stream_editable(message), false);
|
assert.equal(message_edit.is_stream_editable(message), false);
|
||||||
|
|
||||||
current_user.is_moderator = true;
|
override(current_user, "is_moderator", true);
|
||||||
assert.equal(message_edit.is_stream_editable(message), true);
|
assert.equal(message_edit.is_stream_editable(message), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("get_deletability", ({override}) => {
|
run_test("get_deletability", ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
override(settings_data, "user_can_delete_any_message", () => true);
|
override(settings_data, "user_can_delete_any_message", () => true);
|
||||||
override(settings_data, "user_can_delete_own_message", () => false);
|
override(settings_data, "user_can_delete_own_message", () => false);
|
||||||
realm.realm_message_content_delete_limit_seconds = null;
|
realm.realm_message_content_delete_limit_seconds = null;
|
||||||
|
|||||||
@@ -230,7 +230,7 @@ run_test("change_message_id", () => {
|
|||||||
assert.equal(list.change_message_id(13, 15), undefined);
|
assert.equal(list.change_message_id(13, 15), undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("last_sent_by_me", () => {
|
run_test("last_sent_by_me", ({override}) => {
|
||||||
const list = new MessageList({
|
const list = new MessageList({
|
||||||
data: new MessageListData({
|
data: new MessageListData({
|
||||||
excludes_muted_topics: false,
|
excludes_muted_topics: false,
|
||||||
@@ -253,7 +253,7 @@ run_test("last_sent_by_me", () => {
|
|||||||
];
|
];
|
||||||
|
|
||||||
list.append(items);
|
list.append(items);
|
||||||
current_user.user_id = 3;
|
override(current_user, "user_id", 3);
|
||||||
// Look for the last message where user_id == 3 (our ID)
|
// Look for the last message where user_id == 3 (our ID)
|
||||||
assert.equal(list.get_last_message_sent_by_me().id, 2);
|
assert.equal(list.get_last_message_sent_by_me().id, 2);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const assert = require("node:assert/strict");
|
|||||||
const {mock_esm, set_global, zrequire} = require("./lib/namespace");
|
const {mock_esm, set_global, zrequire} = require("./lib/namespace");
|
||||||
const {run_test, noop} = require("./lib/test");
|
const {run_test, noop} = require("./lib/test");
|
||||||
const blueslip = require("./lib/zblueslip");
|
const blueslip = require("./lib/zblueslip");
|
||||||
const {current_user, realm} = require("./lib/zpage_params");
|
const {realm} = require("./lib/zpage_params");
|
||||||
|
|
||||||
mock_esm("../src/settings_data", {
|
mock_esm("../src/settings_data", {
|
||||||
user_can_access_all_other_users: () => true,
|
user_can_access_all_other_users: () => true,
|
||||||
@@ -22,7 +22,6 @@ mock_esm("../src/recent_senders", {
|
|||||||
|
|
||||||
set_global("document", "document-stub");
|
set_global("document", "document-stub");
|
||||||
realm.realm_allow_message_editing = true;
|
realm.realm_allow_message_editing = true;
|
||||||
current_user.is_admin = true;
|
|
||||||
|
|
||||||
const util = zrequire("util");
|
const util = zrequire("util");
|
||||||
const people = zrequire("people");
|
const people = zrequire("people");
|
||||||
|
|||||||
@@ -68,16 +68,16 @@ test("profile_incomplete_alert", ({override}) => {
|
|||||||
override(timerender, "should_display_profile_incomplete_alert", () => true);
|
override(timerender, "should_display_profile_incomplete_alert", () => true);
|
||||||
|
|
||||||
// Show alert.
|
// Show alert.
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
realm.realm_description = "Organization imported from Slack!";
|
realm.realm_description = "Organization imported from Slack!";
|
||||||
assert.equal(navbar_alerts.check_profile_incomplete(), true);
|
assert.equal(navbar_alerts.check_profile_incomplete(), true);
|
||||||
|
|
||||||
// Avoid showing if the user is not admin.
|
// Avoid showing if the user is not admin.
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(navbar_alerts.check_profile_incomplete(), false);
|
assert.equal(navbar_alerts.check_profile_incomplete(), false);
|
||||||
|
|
||||||
// Avoid showing if the realm description is already updated.
|
// Avoid showing if the realm description is already updated.
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(navbar_alerts.check_profile_incomplete(), true);
|
assert.equal(navbar_alerts.check_profile_incomplete(), true);
|
||||||
realm.realm_description = "Organization description already set!";
|
realm.realm_description = "Organization description already set!";
|
||||||
assert.equal(navbar_alerts.check_profile_incomplete(), false);
|
assert.equal(navbar_alerts.check_profile_incomplete(), false);
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ user_topics.update_user_topics(
|
|||||||
|
|
||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (helpers) => {
|
run_test(label, (helpers) => {
|
||||||
current_user.is_admin = false;
|
helpers.override(current_user, "is_admin", false);
|
||||||
page_params.realm_users = [];
|
page_params.realm_users = [];
|
||||||
helpers.override(user_settings, "enable_followed_topic_desktop_notifications", true);
|
helpers.override(user_settings, "enable_followed_topic_desktop_notifications", true);
|
||||||
helpers.override(user_settings, "enable_followed_topic_audible_notifications", true);
|
helpers.override(user_settings, "enable_followed_topic_audible_notifications", true);
|
||||||
|
|||||||
@@ -11,15 +11,13 @@ const assert = require("node:assert/strict");
|
|||||||
const {zrequire} = require("./lib/namespace");
|
const {zrequire} = require("./lib/namespace");
|
||||||
const {run_test} = require("./lib/test");
|
const {run_test} = require("./lib/test");
|
||||||
const blueslip = require("./lib/zblueslip");
|
const blueslip = require("./lib/zblueslip");
|
||||||
const {current_user, page_params} = require("./lib/zpage_params");
|
const {page_params} = require("./lib/zpage_params");
|
||||||
|
|
||||||
const peer_data = zrequire("peer_data");
|
const peer_data = zrequire("peer_data");
|
||||||
const people = zrequire("people");
|
const people = zrequire("people");
|
||||||
const stream_data = zrequire("stream_data");
|
const stream_data = zrequire("stream_data");
|
||||||
|
|
||||||
current_user.is_admin = false;
|
|
||||||
page_params.realm_users = [];
|
page_params.realm_users = [];
|
||||||
current_user.is_guest = false;
|
|
||||||
|
|
||||||
const me = {
|
const me = {
|
||||||
email: "me@zulip.com",
|
email: "me@zulip.com",
|
||||||
|
|||||||
@@ -707,14 +707,14 @@ test_people("set_custom_profile_field_data", () => {
|
|||||||
assert.equal(person.profile_data[field.id].rendered_value, "<p>Field value</p>");
|
assert.equal(person.profile_data[field.id].rendered_value, "<p>Field value</p>");
|
||||||
});
|
});
|
||||||
|
|
||||||
test_people("is_current_user_only_owner", () => {
|
test_people("is_current_user_only_owner", ({override}) => {
|
||||||
const person = people.get_by_email(me.email);
|
const person = people.get_by_email(me.email);
|
||||||
person.is_owner = false;
|
person.is_owner = false;
|
||||||
current_user.is_owner = false;
|
override(current_user, "is_owner", false);
|
||||||
assert.ok(!people.is_current_user_only_owner());
|
assert.ok(!people.is_current_user_only_owner());
|
||||||
|
|
||||||
person.is_owner = true;
|
person.is_owner = true;
|
||||||
current_user.is_owner = true;
|
override(current_user, "is_owner", true);
|
||||||
assert.ok(people.is_current_user_only_owner());
|
assert.ok(people.is_current_user_only_owner());
|
||||||
|
|
||||||
people.add_active_user(realm_owner);
|
people.add_active_user(realm_owner);
|
||||||
@@ -1262,13 +1262,13 @@ test_people("initialize", () => {
|
|||||||
assert.equal(page_params.realm_non_active_users, undefined);
|
assert.equal(page_params.realm_non_active_users, undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_people("predicate_for_user_settings_filters", () => {
|
test_people("predicate_for_user_settings_filters", ({override}) => {
|
||||||
/*
|
/*
|
||||||
This function calls matches_user_settings_search,
|
This function calls matches_user_settings_search,
|
||||||
so that is where we do more thorough testing.
|
so that is where we do more thorough testing.
|
||||||
This test is just a sanity check for now.
|
This test is just a sanity check for now.
|
||||||
*/
|
*/
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
|
|
||||||
const fred_smith = {full_name: "Fred Smith", role: 100};
|
const fred_smith = {full_name: "Fred Smith", role: 100};
|
||||||
|
|
||||||
@@ -1307,15 +1307,15 @@ test_people("predicate_for_user_settings_filters", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test_people("matches_user_settings_search", () => {
|
test_people("matches_user_settings_search", ({override}) => {
|
||||||
const match = people.matches_user_settings_search;
|
const match = people.matches_user_settings_search;
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
|
|
||||||
assert.equal(match({email: "fred@example.com"}, "fred"), false);
|
assert.equal(match({email: "fred@example.com"}, "fred"), false);
|
||||||
assert.equal(match({full_name: "Fred Smith"}, "fr"), true);
|
assert.equal(match({full_name: "Fred Smith"}, "fr"), true);
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
|
|
||||||
assert.equal(match({delivery_email: "fred@example.com"}, "fr"), true);
|
assert.equal(match({delivery_email: "fred@example.com"}, "fr"), true);
|
||||||
assert.equal(
|
assert.equal(
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ test("muted_users", () => {
|
|||||||
assert.deepEqual(pmc.recent.get_strings(), ["3", "1,2,3", "15"]);
|
assert.deepEqual(pmc.recent.get_strings(), ["3", "1,2,3", "15"]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("has_conversation", () => {
|
test("has_conversation", ({override}) => {
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
pmc.recent.initialize(params);
|
pmc.recent.initialize(params);
|
||||||
|
|
||||||
// Tests if `has_conversation` returns `true` when there are previous
|
// Tests if `has_conversation` returns `true` when there are previous
|
||||||
|
|||||||
@@ -156,12 +156,12 @@ function test(label, f) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Test functions
|
// Test functions
|
||||||
test("my_message_all_actions", () => {
|
test("my_message_all_actions", ({override}) => {
|
||||||
// Set page parameters.
|
// Set page parameters.
|
||||||
set_page_params_no_edit_restrictions();
|
set_page_params_no_edit_restrictions();
|
||||||
realm.realm_can_delete_any_message_group = everyone.id;
|
realm.realm_can_delete_any_message_group = everyone.id;
|
||||||
realm.realm_can_delete_own_message_group = everyone.id;
|
realm.realm_can_delete_own_message_group = everyone.id;
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
// Get message with maximum permissions available
|
// Get message with maximum permissions available
|
||||||
// Initialize message list
|
// Initialize message list
|
||||||
const list = init_message_list();
|
const list = init_message_list();
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ people.add_active_user(alexus);
|
|||||||
|
|
||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (helpers) => {
|
run_test(label, (helpers) => {
|
||||||
current_user.user_id = alice_user_id;
|
helpers.override(current_user, "user_id", alice_user_id);
|
||||||
f(helpers);
|
f(helpers);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ function new_stream_id() {
|
|||||||
return _stream_id;
|
return _stream_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init({override}) {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
|
|
||||||
people.init();
|
people.init();
|
||||||
people.add_active_user(bob);
|
people.add_active_user(bob);
|
||||||
@@ -79,7 +79,7 @@ function get_suggestions(query, pill_query = "") {
|
|||||||
|
|
||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (helpers) => {
|
run_test(label, (helpers) => {
|
||||||
init();
|
init(helpers);
|
||||||
f(helpers);
|
f(helpers);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,11 +91,11 @@ test("generate_botserverrc_content", () => {
|
|||||||
assert.equal(content, expected);
|
assert.equal(content, expected);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("can_create_new_bots", () => {
|
test("can_create_new_bots", ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.ok(settings_bots.can_create_new_bots());
|
assert.ok(settings_bots.can_create_new_bots());
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
realm.realm_bot_creation_policy = 1;
|
realm.realm_bot_creation_policy = 1;
|
||||||
assert.ok(settings_bots.can_create_new_bots());
|
assert.ok(settings_bots.can_create_new_bots());
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const assert = require("node:assert/strict");
|
const assert = require("node:assert/strict");
|
||||||
|
|
||||||
const {mock_esm, zrequire} = require("./lib/namespace");
|
const {mock_esm, with_overrides, zrequire} = require("./lib/namespace");
|
||||||
const {run_test} = require("./lib/test");
|
const {run_test} = require("./lib/test");
|
||||||
const {current_user, page_params, realm} = require("./lib/zpage_params");
|
const {current_user, page_params, realm} = require("./lib/zpage_params");
|
||||||
|
|
||||||
@@ -30,13 +30,13 @@ const isaac = {
|
|||||||
|
|
||||||
const group_permission_settings = mock_esm("../src/group_permission_settings", {});
|
const group_permission_settings = mock_esm("../src/group_permission_settings", {});
|
||||||
|
|
||||||
run_test("user_can_change_email", () => {
|
run_test("user_can_change_email", ({override}) => {
|
||||||
const can_change_email = settings_data.user_can_change_email;
|
const can_change_email = settings_data.user_can_change_email;
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(can_change_email(), true);
|
assert.equal(can_change_email(), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
realm.realm_email_changes_disabled = true;
|
realm.realm_email_changes_disabled = true;
|
||||||
assert.equal(can_change_email(), false);
|
assert.equal(can_change_email(), false);
|
||||||
|
|
||||||
@@ -44,13 +44,13 @@ run_test("user_can_change_email", () => {
|
|||||||
assert.equal(can_change_email(), true);
|
assert.equal(can_change_email(), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_change_name", () => {
|
run_test("user_can_change_name", ({override}) => {
|
||||||
const can_change_name = settings_data.user_can_change_name;
|
const can_change_name = settings_data.user_can_change_name;
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(can_change_name(), true);
|
assert.equal(can_change_name(), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
realm.realm_name_changes_disabled = true;
|
realm.realm_name_changes_disabled = true;
|
||||||
realm.server_name_changes_disabled = false;
|
realm.server_name_changes_disabled = false;
|
||||||
assert.equal(can_change_name(), false);
|
assert.equal(can_change_name(), false);
|
||||||
@@ -64,13 +64,13 @@ run_test("user_can_change_name", () => {
|
|||||||
assert.equal(can_change_name(), false);
|
assert.equal(can_change_name(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_change_avatar", () => {
|
run_test("user_can_change_avatar", ({override}) => {
|
||||||
const can_change_avatar = settings_data.user_can_change_avatar;
|
const can_change_avatar = settings_data.user_can_change_avatar;
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(can_change_avatar(), true);
|
assert.equal(can_change_avatar(), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
realm.realm_avatar_changes_disabled = true;
|
realm.realm_avatar_changes_disabled = true;
|
||||||
realm.server_avatar_changes_disabled = false;
|
realm.server_avatar_changes_disabled = false;
|
||||||
assert.equal(can_change_avatar(), false);
|
assert.equal(can_change_avatar(), false);
|
||||||
@@ -84,47 +84,47 @@ run_test("user_can_change_avatar", () => {
|
|||||||
assert.equal(can_change_avatar(), false);
|
assert.equal(can_change_avatar(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_change_logo", () => {
|
run_test("user_can_change_logo", ({override}) => {
|
||||||
const can_change_logo = settings_data.user_can_change_logo;
|
const can_change_logo = settings_data.user_can_change_logo;
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
realm.zulip_plan_is_not_limited = true;
|
realm.zulip_plan_is_not_limited = true;
|
||||||
assert.equal(can_change_logo(), true);
|
assert.equal(can_change_logo(), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
realm.zulip_plan_is_not_limited = false;
|
realm.zulip_plan_is_not_limited = false;
|
||||||
assert.equal(can_change_logo(), false);
|
assert.equal(can_change_logo(), false);
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
realm.zulip_plan_is_not_limited = false;
|
realm.zulip_plan_is_not_limited = false;
|
||||||
assert.equal(can_change_logo(), false);
|
assert.equal(can_change_logo(), false);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
realm.zulip_plan_is_not_limited = true;
|
realm.zulip_plan_is_not_limited = true;
|
||||||
assert.equal(can_change_logo(), false);
|
assert.equal(can_change_logo(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
function test_policy(label, policy, validation_func) {
|
function test_policy(label, policy, validation_func) {
|
||||||
run_test(label, () => {
|
run_test(label, ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
realm[policy] = settings_config.common_policy_values.by_admins_only.code;
|
realm[policy] = settings_config.common_policy_values.by_admins_only.code;
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(validation_func(), false);
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
current_user.is_moderator = true;
|
override(current_user, "is_moderator", true);
|
||||||
realm[policy] = settings_config.common_policy_values.by_moderators_only.code;
|
realm[policy] = settings_config.common_policy_values.by_moderators_only.code;
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
current_user.is_moderator = false;
|
override(current_user, "is_moderator", false);
|
||||||
assert.equal(validation_func(), false);
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
realm[policy] = settings_config.common_policy_values.by_members.code;
|
realm[policy] = settings_config.common_policy_values.by_members.code;
|
||||||
assert.equal(validation_func(), false);
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
page_params.is_spectator = true;
|
page_params.is_spectator = true;
|
||||||
@@ -135,7 +135,7 @@ function test_policy(label, policy, validation_func) {
|
|||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
realm[policy] = settings_config.common_policy_values.by_full_members.code;
|
realm[policy] = settings_config.common_policy_values.by_full_members.code;
|
||||||
current_user.user_id = 30;
|
override(current_user, "user_id", 30);
|
||||||
isaac.date_joined = new Date(Date.now());
|
isaac.date_joined = new Date(Date.now());
|
||||||
settings_data.initialize(isaac.date_joined);
|
settings_data.initialize(isaac.date_joined);
|
||||||
realm.realm_waiting_period_threshold = 10;
|
realm.realm_waiting_period_threshold = 10;
|
||||||
@@ -169,33 +169,33 @@ test_policy(
|
|||||||
);
|
);
|
||||||
|
|
||||||
function test_message_policy(label, policy, validation_func) {
|
function test_message_policy(label, policy, validation_func) {
|
||||||
run_test(label, () => {
|
run_test(label, ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
realm[policy] = settings_config.common_message_policy_values.by_admins_only.code;
|
realm[policy] = settings_config.common_message_policy_values.by_admins_only.code;
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
current_user.is_moderator = true;
|
override(current_user, "is_moderator", true);
|
||||||
assert.equal(validation_func(), false);
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
realm[policy] = settings_config.common_message_policy_values.by_moderators_only.code;
|
realm[policy] = settings_config.common_message_policy_values.by_moderators_only.code;
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
current_user.is_moderator = false;
|
override(current_user, "is_moderator", false);
|
||||||
assert.equal(validation_func(), false);
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
realm[policy] = settings_config.common_message_policy_values.by_everyone.code;
|
realm[policy] = settings_config.common_message_policy_values.by_everyone.code;
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
realm[policy] = settings_config.common_message_policy_values.by_members.code;
|
realm[policy] = settings_config.common_message_policy_values.by_members.code;
|
||||||
assert.equal(validation_func(), false);
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
assert.equal(validation_func(), true);
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
realm[policy] = settings_config.common_message_policy_values.by_full_members.code;
|
realm[policy] = settings_config.common_message_policy_values.by_full_members.code;
|
||||||
current_user.user_id = 30;
|
override(current_user, "user_id", 30);
|
||||||
isaac.date_joined = new Date(Date.now());
|
isaac.date_joined = new Date(Date.now());
|
||||||
realm.realm_waiting_period_threshold = 10;
|
realm.realm_waiting_period_threshold = 10;
|
||||||
settings_data.initialize(isaac.date_joined);
|
settings_data.initialize(isaac.date_joined);
|
||||||
@@ -213,16 +213,16 @@ test_message_policy(
|
|||||||
settings_data.user_can_move_messages_to_another_topic,
|
settings_data.user_can_move_messages_to_another_topic,
|
||||||
);
|
);
|
||||||
|
|
||||||
run_test("user_can_move_messages_to_another_topic_nobody_case", () => {
|
run_test("user_can_move_messages_to_another_topic_nobody_case", ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
realm.realm_edit_topic_policy = settings_config.edit_topic_policy_values.nobody.code;
|
realm.realm_edit_topic_policy = settings_config.edit_topic_policy_values.nobody.code;
|
||||||
assert.equal(settings_data.user_can_move_messages_to_another_topic(), false);
|
assert.equal(settings_data.user_can_move_messages_to_another_topic(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_move_messages_between_streams_nobody_case", () => {
|
run_test("user_can_move_messages_between_streams_nobody_case", ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
realm.realm_move_messages_between_streams_policy =
|
realm.realm_move_messages_between_streams_policy =
|
||||||
settings_config.move_messages_between_streams_policy_values.nobody.code;
|
settings_config.move_messages_between_streams_policy_values.nobody.code;
|
||||||
assert.equal(settings_data.user_can_move_messages_between_streams(), false);
|
assert.equal(settings_data.user_can_move_messages_between_streams(), false);
|
||||||
@@ -260,80 +260,82 @@ run_test("using_dark_theme", ({override}) => {
|
|||||||
assert.equal(settings_data.using_dark_theme(), false);
|
assert.equal(settings_data.using_dark_theme(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_invite_others_to_realm_nobody_case", () => {
|
run_test("user_can_invite_others_to_realm_nobody_case", ({override}) => {
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
current_user.is_guest = false;
|
override(current_user, "is_guest", false);
|
||||||
realm.realm_invite_to_realm_policy =
|
realm.realm_invite_to_realm_policy =
|
||||||
settings_config.email_invite_to_realm_policy_values.nobody.code;
|
settings_config.email_invite_to_realm_policy_values.nobody.code;
|
||||||
assert.equal(settings_data.user_can_invite_users_by_email(), false);
|
assert.equal(settings_data.user_can_invite_users_by_email(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_email_not_configured", () => {
|
run_test("user_email_not_configured", ({override}) => {
|
||||||
const user_email_not_configured = settings_data.user_email_not_configured;
|
const user_email_not_configured = settings_data.user_email_not_configured;
|
||||||
|
|
||||||
current_user.is_owner = false;
|
override(current_user, "is_owner", false);
|
||||||
assert.equal(user_email_not_configured(), false);
|
assert.equal(user_email_not_configured(), false);
|
||||||
|
|
||||||
current_user.is_owner = true;
|
override(current_user, "is_owner", true);
|
||||||
current_user.delivery_email = "";
|
override(current_user, "delivery_email", "");
|
||||||
assert.equal(user_email_not_configured(), true);
|
assert.equal(user_email_not_configured(), true);
|
||||||
|
|
||||||
current_user.delivery_email = "name@example.com";
|
override(current_user, "delivery_email", "name@example.com");
|
||||||
assert.equal(user_email_not_configured(), false);
|
assert.equal(user_email_not_configured(), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
function test_realm_group_settings(setting_name, validation_func) {
|
function test_realm_group_settings(setting_name, validation_func) {
|
||||||
const admin_user_id = 1;
|
with_overrides(({override}) => {
|
||||||
const moderator_user_id = 2;
|
const admin_user_id = 1;
|
||||||
const member_user_id = 3;
|
const moderator_user_id = 2;
|
||||||
|
const member_user_id = 3;
|
||||||
|
|
||||||
const admins = {
|
const admins = {
|
||||||
name: "Admins",
|
name: "Admins",
|
||||||
id: 1,
|
id: 1,
|
||||||
members: new Set([admin_user_id]),
|
members: new Set([admin_user_id]),
|
||||||
is_system_group: true,
|
is_system_group: true,
|
||||||
direct_subgroup_ids: new Set([]),
|
direct_subgroup_ids: new Set([]),
|
||||||
};
|
};
|
||||||
const moderators = {
|
const moderators = {
|
||||||
name: "Moderators",
|
name: "Moderators",
|
||||||
id: 2,
|
id: 2,
|
||||||
members: new Set([moderator_user_id]),
|
members: new Set([moderator_user_id]),
|
||||||
is_system_group: true,
|
is_system_group: true,
|
||||||
direct_subgroup_ids: new Set([1]),
|
direct_subgroup_ids: new Set([1]),
|
||||||
};
|
};
|
||||||
|
|
||||||
group_permission_settings.get_group_permission_setting_config = () => ({
|
group_permission_settings.get_group_permission_setting_config = () => ({
|
||||||
allow_everyone_group: false,
|
allow_everyone_group: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
user_groups.initialize({realm_user_groups: [admins, moderators]});
|
||||||
|
page_params.is_spectator = true;
|
||||||
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
|
page_params.is_spectator = false;
|
||||||
|
override(current_user, "is_guest", false);
|
||||||
|
realm[setting_name] = 1;
|
||||||
|
override(current_user, "user_id", admin_user_id);
|
||||||
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
|
override(current_user, "user_id", moderator_user_id);
|
||||||
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
|
realm[setting_name] = 2;
|
||||||
|
override(current_user, "user_id", moderator_user_id);
|
||||||
|
assert.equal(validation_func(), true);
|
||||||
|
|
||||||
|
override(current_user, "user_id", member_user_id);
|
||||||
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
|
override(current_user, "user_id", moderator_user_id);
|
||||||
|
override(current_user, "is_guest", true);
|
||||||
|
assert.equal(validation_func(), false);
|
||||||
|
|
||||||
|
group_permission_settings.get_group_permission_setting_config = () => ({
|
||||||
|
allow_everyone_group: true,
|
||||||
|
});
|
||||||
|
assert.equal(validation_func(), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
user_groups.initialize({realm_user_groups: [admins, moderators]});
|
|
||||||
page_params.is_spectator = true;
|
|
||||||
assert.equal(validation_func(), false);
|
|
||||||
|
|
||||||
page_params.is_spectator = false;
|
|
||||||
current_user.is_guest = false;
|
|
||||||
realm[setting_name] = 1;
|
|
||||||
current_user.user_id = admin_user_id;
|
|
||||||
assert.equal(validation_func(), true);
|
|
||||||
|
|
||||||
current_user.user_id = moderator_user_id;
|
|
||||||
assert.equal(validation_func(), false);
|
|
||||||
|
|
||||||
realm[setting_name] = 2;
|
|
||||||
current_user.user_id = moderator_user_id;
|
|
||||||
assert.equal(validation_func(), true);
|
|
||||||
|
|
||||||
current_user.user_id = member_user_id;
|
|
||||||
assert.equal(validation_func(), false);
|
|
||||||
|
|
||||||
current_user.user_id = moderator_user_id;
|
|
||||||
current_user.is_guest = true;
|
|
||||||
assert.equal(validation_func(), false);
|
|
||||||
|
|
||||||
group_permission_settings.get_group_permission_setting_config = () => ({
|
|
||||||
allow_everyone_group: true,
|
|
||||||
});
|
|
||||||
assert.equal(validation_func(), true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
run_test("user_can_create_multiuse_invite", () => {
|
run_test("user_can_create_multiuse_invite", () => {
|
||||||
@@ -343,7 +345,7 @@ run_test("user_can_create_multiuse_invite", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("can_manage_user_group", () => {
|
run_test("can_manage_user_group", ({override}) => {
|
||||||
const admins = {
|
const admins = {
|
||||||
description: "Administrators",
|
description: "Administrators",
|
||||||
name: "role:administrators",
|
name: "role:administrators",
|
||||||
@@ -407,30 +409,30 @@ run_test("can_manage_user_group", () => {
|
|||||||
|
|
||||||
page_params.is_spectator = false;
|
page_params.is_spectator = false;
|
||||||
realm.realm_can_manage_all_groups = admins.id;
|
realm.realm_can_manage_all_groups = admins.id;
|
||||||
current_user.user_id = 3;
|
override(current_user, "user_id", 3);
|
||||||
assert.ok(!settings_data.can_manage_user_group(students.id));
|
assert.ok(!settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
// non-admin group_creator
|
// non-admin group_creator
|
||||||
current_user.user_id = 4;
|
override(current_user, "user_id", 4);
|
||||||
assert.ok(settings_data.can_manage_user_group(students.id));
|
assert.ok(settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
// admin user
|
// admin user
|
||||||
current_user.user_id = 1;
|
override(current_user, "user_id", 1);
|
||||||
assert.ok(settings_data.can_manage_user_group(students.id));
|
assert.ok(settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
// moderator user
|
// moderator user
|
||||||
current_user.user_id = 2;
|
override(current_user, "user_id", 2);
|
||||||
assert.ok(!settings_data.can_manage_user_group(students.id));
|
assert.ok(!settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
realm.realm_can_manage_all_groups = members.id;
|
realm.realm_can_manage_all_groups = members.id;
|
||||||
current_user.user_id = 3;
|
override(current_user, "user_id", 3);
|
||||||
assert.ok(!settings_data.can_manage_user_group(students.id));
|
assert.ok(!settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
current_user.user_id = 2;
|
override(current_user, "user_id", 2);
|
||||||
assert.ok(settings_data.can_manage_user_group(students.id));
|
assert.ok(settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
realm.realm_can_manage_all_groups = admins.id;
|
realm.realm_can_manage_all_groups = admins.id;
|
||||||
current_user.user_id = 2;
|
override(current_user, "user_id", 2);
|
||||||
assert.ok(!settings_data.can_manage_user_group(students.id));
|
assert.ok(!settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
const event = {
|
const event = {
|
||||||
@@ -442,11 +444,11 @@ run_test("can_manage_user_group", () => {
|
|||||||
user_groups.update(event);
|
user_groups.update(event);
|
||||||
assert.ok(settings_data.can_manage_user_group(students.id));
|
assert.ok(settings_data.can_manage_user_group(students.id));
|
||||||
|
|
||||||
current_user.user_id = 3;
|
override(current_user, "user_id", 3);
|
||||||
assert.ok(settings_data.can_manage_user_group(students.id));
|
assert.ok(settings_data.can_manage_user_group(students.id));
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("can_join_user_group", () => {
|
run_test("can_join_user_group", ({override}) => {
|
||||||
const admins = {
|
const admins = {
|
||||||
description: "Administrators",
|
description: "Administrators",
|
||||||
name: "role:administrators",
|
name: "role:administrators",
|
||||||
@@ -516,11 +518,11 @@ run_test("can_join_user_group", () => {
|
|||||||
|
|
||||||
page_params.is_spectator = false;
|
page_params.is_spectator = false;
|
||||||
// admin user
|
// admin user
|
||||||
current_user.user_id = 1;
|
override(current_user, "user_id", 1);
|
||||||
assert.ok(settings_data.can_join_user_group(students.id));
|
assert.ok(settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
// moderator user
|
// moderator user
|
||||||
current_user.user_id = 2;
|
override(current_user, "user_id", 2);
|
||||||
assert.ok(!settings_data.can_join_user_group(students.id));
|
assert.ok(!settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
let event = {
|
let event = {
|
||||||
@@ -532,11 +534,11 @@ run_test("can_join_user_group", () => {
|
|||||||
user_groups.update(event);
|
user_groups.update(event);
|
||||||
assert.ok(settings_data.can_join_user_group(students.id));
|
assert.ok(settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
current_user.user_id = 1;
|
override(current_user, "user_id", 1);
|
||||||
assert.ok(settings_data.can_join_user_group(students.id));
|
assert.ok(settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
// Some other user.
|
// Some other user.
|
||||||
current_user.user_id = 5;
|
override(current_user, "user_id", 5);
|
||||||
assert.ok(!settings_data.can_join_user_group(students.id));
|
assert.ok(!settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
event = {
|
event = {
|
||||||
@@ -551,16 +553,16 @@ run_test("can_join_user_group", () => {
|
|||||||
user_groups.update(event);
|
user_groups.update(event);
|
||||||
assert.ok(settings_data.can_join_user_group(students.id));
|
assert.ok(settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
current_user.user_id = 2;
|
override(current_user, "user_id", 2);
|
||||||
assert.ok(!settings_data.can_join_user_group(students.id));
|
assert.ok(!settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
// User can join the group if they can add anyone in the group which
|
// User can join the group if they can add anyone in the group which
|
||||||
// depends on can_manage_group and realm.can_manage_all_groups settings.
|
// depends on can_manage_group and realm.can_manage_all_groups settings.
|
||||||
current_user.user_id = 4;
|
override(current_user, "user_id", 4);
|
||||||
assert.ok(settings_data.can_join_user_group(students.id));
|
assert.ok(settings_data.can_join_user_group(students.id));
|
||||||
|
|
||||||
realm.realm_can_manage_all_groups = moderators.id;
|
realm.realm_can_manage_all_groups = moderators.id;
|
||||||
current_user.user_id = 2;
|
override(current_user, "user_id", 2);
|
||||||
assert.ok(settings_data.can_join_user_group(students.id));
|
assert.ok(settings_data.can_join_user_group(students.id));
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -583,7 +585,7 @@ run_test("type_id_to_string", () => {
|
|||||||
assert.equal(settings_data.bot_type_id_to_string(5), undefined);
|
assert.equal(settings_data.bot_type_id_to_string(5), undefined);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_access_all_other_users", () => {
|
run_test("user_can_access_all_other_users", ({override}) => {
|
||||||
const guest_user_id = 1;
|
const guest_user_id = 1;
|
||||||
const member_user_id = 2;
|
const member_user_id = 2;
|
||||||
|
|
||||||
@@ -610,10 +612,10 @@ run_test("user_can_access_all_other_users", () => {
|
|||||||
assert.ok(settings_data.user_can_access_all_other_users());
|
assert.ok(settings_data.user_can_access_all_other_users());
|
||||||
|
|
||||||
page_params.is_spectator = false;
|
page_params.is_spectator = false;
|
||||||
current_user.user_id = member_user_id;
|
override(current_user, "user_id", member_user_id);
|
||||||
assert.ok(settings_data.user_can_access_all_other_users());
|
assert.ok(settings_data.user_can_access_all_other_users());
|
||||||
|
|
||||||
current_user.user_id = guest_user_id;
|
override(current_user, "user_id", guest_user_id);
|
||||||
assert.ok(!settings_data.user_can_access_all_other_users());
|
assert.ok(!settings_data.user_can_access_all_other_users());
|
||||||
|
|
||||||
realm.realm_can_access_all_users_group = everyone.id;
|
realm.realm_can_access_all_users_group = everyone.id;
|
||||||
@@ -645,7 +647,7 @@ run_test("user_can_create_private_streams", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
run_test("user_can_create_web_public_streams", () => {
|
run_test("user_can_create_web_public_streams", ({override}) => {
|
||||||
realm.server_web_public_streams_enabled = true;
|
realm.server_web_public_streams_enabled = true;
|
||||||
realm.realm_enable_spectator_access = true;
|
realm.realm_enable_spectator_access = true;
|
||||||
|
|
||||||
@@ -661,7 +663,7 @@ run_test("user_can_create_web_public_streams", () => {
|
|||||||
is_system_group: true,
|
is_system_group: true,
|
||||||
direct_subgroup_ids: new Set([]),
|
direct_subgroup_ids: new Set([]),
|
||||||
};
|
};
|
||||||
current_user.user_id = owner_user_id;
|
override(current_user, "user_id", owner_user_id);
|
||||||
user_groups.initialize({realm_user_groups: [owners]});
|
user_groups.initialize({realm_user_groups: [owners]});
|
||||||
|
|
||||||
realm.server_web_public_streams_enabled = true;
|
realm.server_web_public_streams_enabled = true;
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ initialize_user_settings({user_settings: {}});
|
|||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (helpers) => {
|
run_test(label, (helpers) => {
|
||||||
$("#realm-icon-upload-widget .upload-spinner-background").css = noop;
|
$("#realm-icon-upload-widget .upload-spinner-background").css = noop;
|
||||||
current_user.is_admin = false;
|
helpers.override(current_user, "is_admin", false);
|
||||||
realm.realm_domains = [
|
realm.realm_domains = [
|
||||||
{domain: "example.com", allow_subdomains: true},
|
{domain: "example.com", allow_subdomains: true},
|
||||||
{domain: "example.org", allow_subdomains: false},
|
{domain: "example.org", allow_subdomains: false},
|
||||||
@@ -788,8 +788,8 @@ test("test get_sorted_options_list", () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("misc", () => {
|
test("misc", ({override}) => {
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
$("#user-avatar-upload-widget").length = 1;
|
$("#user-avatar-upload-widget").length = 1;
|
||||||
$("#user_details_section").length = 1;
|
$("#user_details_section").length = 1;
|
||||||
|
|
||||||
@@ -843,7 +843,7 @@ test("misc", () => {
|
|||||||
assert.ok($("#user-avatar-upload-widget .image_upload_button").hasClass("hide"));
|
assert.ok($("#user-avatar-upload-widget .image_upload_button").hasClass("hide"));
|
||||||
|
|
||||||
// If organization admin, these UI elements are never disabled.
|
// If organization admin, these UI elements are never disabled.
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
settings_account.update_name_change_display();
|
settings_account.update_name_change_display();
|
||||||
assert.ok(!$("#full_name").prop("disabled"));
|
assert.ok(!$("#full_name").prop("disabled"));
|
||||||
assert.ok(!$("#full_name_input_container").hasClass("disabled_setting_tooltip"));
|
assert.ok(!$("#full_name_input_container").hasClass("disabled_setting_tooltip"));
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
const assert = require("node:assert/strict");
|
const assert = require("node:assert/strict");
|
||||||
|
|
||||||
const {mock_esm, zrequire} = require("./lib/namespace");
|
const {mock_esm, with_overrides, zrequire} = require("./lib/namespace");
|
||||||
const {run_test, noop} = require("./lib/test");
|
const {run_test, noop} = require("./lib/test");
|
||||||
const $ = require("./lib/zjquery");
|
const $ = require("./lib/zjquery");
|
||||||
const {current_user, realm} = require("./lib/zpage_params");
|
const {current_user, realm} = require("./lib/zpage_params");
|
||||||
@@ -52,32 +52,34 @@ mock_esm("sortablejs", {default: Sortable});
|
|||||||
const settings_profile_fields = zrequire("settings_profile_fields");
|
const settings_profile_fields = zrequire("settings_profile_fields");
|
||||||
|
|
||||||
function test_populate(opts, template_data) {
|
function test_populate(opts, template_data) {
|
||||||
const fields_data = opts.fields_data;
|
with_overrides(({override}) => {
|
||||||
|
const fields_data = opts.fields_data;
|
||||||
|
|
||||||
realm.custom_profile_field_types = custom_profile_field_types;
|
realm.custom_profile_field_types = custom_profile_field_types;
|
||||||
current_user.is_admin = opts.is_admin;
|
override(current_user, "is_admin", opts.is_admin);
|
||||||
const $table = $("#admin_profile_fields_table");
|
const $table = $("#admin_profile_fields_table");
|
||||||
const $rows = $.create("rows");
|
const $rows = $.create("rows");
|
||||||
const $form = $.create("forms");
|
const $form = $.create("forms");
|
||||||
$table.set_find_results("tr.profile-field-row", $rows);
|
$table.set_find_results("tr.profile-field-row", $rows);
|
||||||
$table.set_find_results("tr.profile-field-form", $form);
|
$table.set_find_results("tr.profile-field-form", $form);
|
||||||
|
|
||||||
$table[0] = "stub";
|
$table[0] = "stub";
|
||||||
|
|
||||||
$rows.remove = noop;
|
$rows.remove = noop;
|
||||||
$form.remove = noop;
|
$form.remove = noop;
|
||||||
|
|
||||||
let num_appends = 0;
|
let num_appends = 0;
|
||||||
$table.append = () => {
|
$table.append = () => {
|
||||||
num_appends += 1;
|
num_appends += 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
loading.destroy_indicator = noop;
|
loading.destroy_indicator = noop;
|
||||||
|
|
||||||
settings_profile_fields.do_populate_profile_fields(fields_data);
|
settings_profile_fields.do_populate_profile_fields(fields_data);
|
||||||
|
|
||||||
assert.deepEqual(template_data, opts.expected_template_data);
|
assert.deepEqual(template_data, opts.expected_template_data);
|
||||||
assert.equal(num_appends, fields_data.length);
|
assert.equal(num_appends, fields_data.length);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
run_test("populate_profile_fields", ({mock_template}) => {
|
run_test("populate_profile_fields", ({mock_template}) => {
|
||||||
|
|||||||
@@ -35,13 +35,13 @@ const test_user103 = {
|
|||||||
|
|
||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (helpers) => {
|
run_test(label, (helpers) => {
|
||||||
current_user.is_admin = false;
|
helpers.override(current_user, "is_admin", false);
|
||||||
people.init();
|
people.init();
|
||||||
people.add_active_user(me);
|
people.add_active_user(me);
|
||||||
people.add_active_user(test_user101);
|
people.add_active_user(test_user101);
|
||||||
people.add_active_user(test_user102);
|
people.add_active_user(test_user102);
|
||||||
people.add_active_user(test_user103);
|
people.add_active_user(test_user103);
|
||||||
current_user.user_id = me.user_id;
|
helpers.override(current_user, "user_id", me.user_id);
|
||||||
people.initialize_current_user(me.user_id);
|
people.initialize_current_user(me.user_id);
|
||||||
f(helpers);
|
f(helpers);
|
||||||
});
|
});
|
||||||
@@ -70,11 +70,11 @@ test("basics", () => {
|
|||||||
assert.ok(!stream_create_subscribers_data.must_be_subscribed(test_user101.user_id));
|
assert.ok(!stream_create_subscribers_data.must_be_subscribed(test_user101.user_id));
|
||||||
});
|
});
|
||||||
|
|
||||||
test("must_be_subscribed", () => {
|
test("must_be_subscribed", ({override}) => {
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.ok(stream_create_subscribers_data.must_be_subscribed(me.user_id));
|
assert.ok(stream_create_subscribers_data.must_be_subscribed(me.user_id));
|
||||||
assert.ok(!stream_create_subscribers_data.must_be_subscribed(test_user101.user_id));
|
assert.ok(!stream_create_subscribers_data.must_be_subscribed(test_user101.user_id));
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.ok(!stream_create_subscribers_data.must_be_subscribed(me.user_id));
|
assert.ok(!stream_create_subscribers_data.must_be_subscribed(me.user_id));
|
||||||
assert.ok(!stream_create_subscribers_data.must_be_subscribed(test_user101.user_id));
|
assert.ok(!stream_create_subscribers_data.must_be_subscribed(test_user101.user_id));
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -72,9 +72,9 @@ const everyone_group = {
|
|||||||
|
|
||||||
function test(label, f) {
|
function test(label, f) {
|
||||||
run_test(label, (helpers) => {
|
run_test(label, (helpers) => {
|
||||||
current_user.is_admin = false;
|
helpers.override(current_user, "is_admin", false);
|
||||||
page_params.realm_users = [];
|
page_params.realm_users = [];
|
||||||
current_user.is_guest = false;
|
helpers.override(current_user, "is_guest", false);
|
||||||
people.init();
|
people.init();
|
||||||
people.add_active_user(me);
|
people.add_active_user(me);
|
||||||
people.initialize_current_user(me.user_id);
|
people.initialize_current_user(me.user_id);
|
||||||
@@ -270,7 +270,7 @@ test("basics", () => {
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("get_streams_for_user", () => {
|
test("get_streams_for_user", ({override}) => {
|
||||||
const denmark = {
|
const denmark = {
|
||||||
subscribed: true,
|
subscribed: true,
|
||||||
color: "blue",
|
color: "blue",
|
||||||
@@ -340,12 +340,12 @@ test("get_streams_for_user", () => {
|
|||||||
]);
|
]);
|
||||||
assert.deepEqual(stream_data.get_streams_for_user(test_user.user_id).can_subscribe, []);
|
assert.deepEqual(stream_data.get_streams_for_user(test_user.user_id).can_subscribe, []);
|
||||||
// Verify can subscribe if we're an administrator.
|
// Verify can subscribe if we're an administrator.
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.deepEqual(stream_data.get_streams_for_user(test_user.user_id).can_subscribe, [
|
assert.deepEqual(stream_data.get_streams_for_user(test_user.user_id).can_subscribe, [
|
||||||
world,
|
world,
|
||||||
errors,
|
errors,
|
||||||
]);
|
]);
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
|
|
||||||
realm.realm_invite_to_stream_policy = settings_config.common_policy_values.by_members.code;
|
realm.realm_invite_to_stream_policy = settings_config.common_policy_values.by_members.code;
|
||||||
assert.deepEqual(stream_data.get_streams_for_user(test_user.user_id).can_subscribe, [
|
assert.deepEqual(stream_data.get_streams_for_user(test_user.user_id).can_subscribe, [
|
||||||
@@ -383,7 +383,7 @@ test("renames", () => {
|
|||||||
assert.equal(actual_id, 42);
|
assert.equal(actual_id, 42);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("admin_options", () => {
|
test("admin_options", ({override}) => {
|
||||||
function make_sub() {
|
function make_sub() {
|
||||||
const sub = {
|
const sub = {
|
||||||
subscribed: false,
|
subscribed: false,
|
||||||
@@ -409,7 +409,7 @@ test("admin_options", () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// non-admins can't do anything
|
// non-admins can't do anything
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
let sub = make_sub();
|
let sub = make_sub();
|
||||||
assert.ok(!is_realm_admin(sub));
|
assert.ok(!is_realm_admin(sub));
|
||||||
assert.ok(!can_change_stream_permissions(sub));
|
assert.ok(!can_change_stream_permissions(sub));
|
||||||
@@ -418,7 +418,7 @@ test("admin_options", () => {
|
|||||||
assert.equal(sub.color, "blue");
|
assert.equal(sub.color, "blue");
|
||||||
|
|
||||||
// the remaining cases are for admin users
|
// the remaining cases are for admin users
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
|
|
||||||
// admins can make public streams become private
|
// admins can make public streams become private
|
||||||
sub = make_sub();
|
sub = make_sub();
|
||||||
@@ -440,7 +440,7 @@ test("admin_options", () => {
|
|||||||
assert.ok(can_change_stream_permissions(sub));
|
assert.ok(can_change_stream_permissions(sub));
|
||||||
});
|
});
|
||||||
|
|
||||||
test("stream_settings", () => {
|
test("stream_settings", ({override}) => {
|
||||||
const cinnamon = {
|
const cinnamon = {
|
||||||
stream_id: 1,
|
stream_id: 1,
|
||||||
name: "c",
|
name: "c",
|
||||||
@@ -517,7 +517,7 @@ test("stream_settings", () => {
|
|||||||
// For guest user only retrieve subscribed streams
|
// For guest user only retrieve subscribed streams
|
||||||
sub_rows = stream_settings_data.get_updated_unsorted_subs();
|
sub_rows = stream_settings_data.get_updated_unsorted_subs();
|
||||||
assert.equal(sub_rows.length, 3);
|
assert.equal(sub_rows.length, 3);
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
sub_rows = stream_settings_data.get_updated_unsorted_subs();
|
sub_rows = stream_settings_data.get_updated_unsorted_subs();
|
||||||
assert.equal(sub_rows[0].name, "c");
|
assert.equal(sub_rows[0].name, "c");
|
||||||
assert.equal(sub_rows[1].name, "a");
|
assert.equal(sub_rows[1].name, "a");
|
||||||
@@ -877,10 +877,10 @@ test("create_sub", () => {
|
|||||||
assert.equal(antarctica_sub.color, "#76ce90");
|
assert.equal(antarctica_sub.color, "#76ce90");
|
||||||
});
|
});
|
||||||
|
|
||||||
test("creator_id", () => {
|
test("creator_id", ({override}) => {
|
||||||
people.add_active_user(test_user);
|
people.add_active_user(test_user);
|
||||||
realm.realm_can_access_all_users_group = everyone_group.id;
|
realm.realm_can_access_all_users_group = everyone_group.id;
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
// When creator id is not a valid user id
|
// When creator id is not a valid user id
|
||||||
assert.throws(() => stream_data.maybe_get_creator_details(-1), {
|
assert.throws(() => stream_data.maybe_get_creator_details(-1), {
|
||||||
name: "Error",
|
name: "Error",
|
||||||
@@ -973,7 +973,7 @@ test("edge_cases", () => {
|
|||||||
stream_settings_data.sort_for_stream_settings(bad_stream_ids);
|
stream_settings_data.sort_for_stream_settings(bad_stream_ids);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("get_invite_stream_data", () => {
|
test("get_invite_stream_data", ({override}) => {
|
||||||
// add default stream
|
// add default stream
|
||||||
const orie = {
|
const orie = {
|
||||||
name: "Orie",
|
name: "Orie",
|
||||||
@@ -986,7 +986,7 @@ test("get_invite_stream_data", () => {
|
|||||||
people.init();
|
people.init();
|
||||||
people.add_active_user(me);
|
people.add_active_user(me);
|
||||||
people.initialize_current_user(me.user_id);
|
people.initialize_current_user(me.user_id);
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
|
|
||||||
stream_data.add_sub(orie);
|
stream_data.add_sub(orie);
|
||||||
stream_data.set_realm_default_streams([orie]);
|
stream_data.set_realm_default_streams([orie]);
|
||||||
@@ -1052,7 +1052,7 @@ test("get_invite_stream_data", () => {
|
|||||||
assert.deepEqual(stream_data.get_invite_stream_data(), expected_list);
|
assert.deepEqual(stream_data.get_invite_stream_data(), expected_list);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("can_post_messages_in_stream", () => {
|
test("can_post_messages_in_stream", ({override}) => {
|
||||||
const social = {
|
const social = {
|
||||||
subscribed: true,
|
subscribed: true,
|
||||||
color: "red",
|
color: "red",
|
||||||
@@ -1063,23 +1063,23 @@ test("can_post_messages_in_stream", () => {
|
|||||||
history_public_to_subscribers: false,
|
history_public_to_subscribers: false,
|
||||||
stream_post_policy: settings_config.stream_post_policy_values.admins.code,
|
stream_post_policy: settings_config.stream_post_policy_values.admins.code,
|
||||||
};
|
};
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), true);
|
assert.equal(stream_data.can_post_messages_in_stream(social), true);
|
||||||
|
|
||||||
social.stream_post_policy = settings_config.stream_post_policy_values.moderators.code;
|
social.stream_post_policy = settings_config.stream_post_policy_values.moderators.code;
|
||||||
current_user.is_moderator = false;
|
override(current_user, "is_moderator", false);
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
|
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
||||||
|
|
||||||
current_user.is_moderator = true;
|
override(current_user, "is_moderator", true);
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), true);
|
assert.equal(stream_data.can_post_messages_in_stream(social), true);
|
||||||
|
|
||||||
social.stream_post_policy = settings_config.stream_post_policy_values.non_new_members.code;
|
social.stream_post_policy = settings_config.stream_post_policy_values.non_new_members.code;
|
||||||
current_user.is_moderator = false;
|
override(current_user, "is_moderator", false);
|
||||||
me.date_joined = new Date(Date.now());
|
me.date_joined = new Date(Date.now());
|
||||||
realm.realm_waiting_period_threshold = 10;
|
realm.realm_waiting_period_threshold = 10;
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
||||||
@@ -1087,7 +1087,7 @@ test("can_post_messages_in_stream", () => {
|
|||||||
me.date_joined = new Date(Date.now() - 20 * 86400000);
|
me.date_joined = new Date(Date.now() - 20 * 86400000);
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), true);
|
assert.equal(stream_data.can_post_messages_in_stream(social), true);
|
||||||
|
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
||||||
|
|
||||||
social.stream_post_policy = settings_config.stream_post_policy_values.everyone.code;
|
social.stream_post_policy = settings_config.stream_post_policy_values.everyone.code;
|
||||||
@@ -1097,7 +1097,7 @@ test("can_post_messages_in_stream", () => {
|
|||||||
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
assert.equal(stream_data.can_post_messages_in_stream(social), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("can_unsubscribe_others", () => {
|
test("can_unsubscribe_others", ({override}) => {
|
||||||
const admin_user_id = 1;
|
const admin_user_id = 1;
|
||||||
const moderator_user_id = 2;
|
const moderator_user_id = 2;
|
||||||
const member_user_id = 3;
|
const member_user_id = 3;
|
||||||
@@ -1165,17 +1165,17 @@ test("can_unsubscribe_others", () => {
|
|||||||
|
|
||||||
// Even with the nobody system group, admins can still unsubscribe others.
|
// Even with the nobody system group, admins can still unsubscribe others.
|
||||||
sub.can_remove_subscribers_group = nobody.id;
|
sub.can_remove_subscribers_group = nobody.id;
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(stream_data.can_unsubscribe_others(sub), true);
|
assert.equal(stream_data.can_unsubscribe_others(sub), true);
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(stream_data.can_unsubscribe_others(sub), false);
|
assert.equal(stream_data.can_unsubscribe_others(sub), false);
|
||||||
|
|
||||||
// This isn't a real state, but we want coverage on !can_view_subscribers.
|
// This isn't a real state, but we want coverage on !can_view_subscribers.
|
||||||
sub.subscribed = false;
|
sub.subscribed = false;
|
||||||
sub.invite_only = true;
|
sub.invite_only = true;
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(stream_data.can_unsubscribe_others(sub), true);
|
assert.equal(stream_data.can_unsubscribe_others(sub), true);
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(stream_data.can_unsubscribe_others(sub), false);
|
assert.equal(stream_data.can_unsubscribe_others(sub), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1279,7 +1279,7 @@ test("options for dropdown widget", () => {
|
|||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
test("can_access_stream_email", () => {
|
test("can_access_stream_email", ({override}) => {
|
||||||
const social = {
|
const social = {
|
||||||
subscribed: true,
|
subscribed: true,
|
||||||
color: "red",
|
color: "red",
|
||||||
@@ -1289,10 +1289,10 @@ test("can_access_stream_email", () => {
|
|||||||
invite_only: true,
|
invite_only: true,
|
||||||
history_public_to_subscribers: false,
|
history_public_to_subscribers: false,
|
||||||
};
|
};
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(stream_data.can_access_stream_email(social), true);
|
assert.equal(stream_data.can_access_stream_email(social), true);
|
||||||
|
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
assert.equal(stream_data.can_access_stream_email(social), true);
|
assert.equal(stream_data.can_access_stream_email(social), true);
|
||||||
|
|
||||||
social.subscribed = false;
|
social.subscribed = false;
|
||||||
@@ -1301,10 +1301,10 @@ test("can_access_stream_email", () => {
|
|||||||
social.invite_only = false;
|
social.invite_only = false;
|
||||||
assert.equal(stream_data.can_access_stream_email(social), true);
|
assert.equal(stream_data.can_access_stream_email(social), true);
|
||||||
|
|
||||||
current_user.is_admin = false;
|
override(current_user, "is_admin", false);
|
||||||
assert.equal(stream_data.can_access_stream_email(social), true);
|
assert.equal(stream_data.can_access_stream_email(social), true);
|
||||||
|
|
||||||
current_user.is_guest = true;
|
override(current_user, "is_guest", true);
|
||||||
assert.equal(stream_data.can_access_stream_email(social), false);
|
assert.equal(stream_data.can_access_stream_email(social), false);
|
||||||
|
|
||||||
social.subscribed = true;
|
social.subscribed = true;
|
||||||
|
|||||||
@@ -5,11 +5,10 @@ const assert = require("node:assert/strict");
|
|||||||
const {mock_esm, set_global, zrequire} = require("./lib/namespace");
|
const {mock_esm, set_global, zrequire} = require("./lib/namespace");
|
||||||
const {run_test, noop} = require("./lib/test");
|
const {run_test, noop} = require("./lib/test");
|
||||||
const $ = require("./lib/zjquery");
|
const $ = require("./lib/zjquery");
|
||||||
const {current_user, page_params} = require("./lib/zpage_params");
|
const {page_params} = require("./lib/zpage_params");
|
||||||
|
|
||||||
set_global("document", "document-stub");
|
set_global("document", "document-stub");
|
||||||
|
|
||||||
current_user.is_admin = false;
|
|
||||||
page_params.realm_users = [];
|
page_params.realm_users = [];
|
||||||
|
|
||||||
// We use this with override.
|
// We use this with override.
|
||||||
|
|||||||
@@ -56,9 +56,9 @@ const me = {
|
|||||||
people.add_active_user(me);
|
people.add_active_user(me);
|
||||||
people.initialize_current_user(me.user_id);
|
people.initialize_current_user(me.user_id);
|
||||||
|
|
||||||
run_test("create_item", () => {
|
run_test("create_item", ({override}) => {
|
||||||
current_user.user_id = me.user_id;
|
override(current_user, "user_id", me.user_id);
|
||||||
current_user.is_admin = true;
|
override(current_user, "is_admin", true);
|
||||||
function test_create_item(
|
function test_create_item(
|
||||||
stream_name,
|
stream_name,
|
||||||
current_items,
|
current_items,
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ run_test("reply_message_stream", ({override}) => {
|
|||||||
send_message_args = data;
|
send_message_args = data;
|
||||||
});
|
});
|
||||||
|
|
||||||
current_user.user_id = 44;
|
override(current_user, "user_id", 44);
|
||||||
server_events.queue_id = 66;
|
server_events.queue_id = 66;
|
||||||
sent_messages.get_new_local_id = () => "99";
|
sent_messages.get_new_local_id = () => "99";
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@ run_test("reply_message_private", ({override}) => {
|
|||||||
send_message_args = data;
|
send_message_args = data;
|
||||||
});
|
});
|
||||||
|
|
||||||
current_user.user_id = 155;
|
override(current_user, "user_id", 155);
|
||||||
server_events.queue_id = 177;
|
server_events.queue_id = 177;
|
||||||
sent_messages.get_new_local_id = () => "199";
|
sent_messages.get_new_local_id = () => "199";
|
||||||
|
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ function test(label, f) {
|
|||||||
recent_senders.clear_for_testing();
|
recent_senders.clear_for_testing();
|
||||||
peer_data.clear_for_testing();
|
peer_data.clear_for_testing();
|
||||||
people.clear_recipient_counts_for_testing();
|
people.clear_recipient_counts_for_testing();
|
||||||
current_user.is_admin = false;
|
helpers.override(current_user, "is_admin", false);
|
||||||
realm.realm_is_zephyr_mirror_realm = false;
|
realm.realm_is_zephyr_mirror_realm = false;
|
||||||
|
|
||||||
f(helpers);
|
f(helpers);
|
||||||
|
|||||||
@@ -52,8 +52,6 @@ mock_esm("../src/settings_streams", {
|
|||||||
maybe_disable_widgets() {},
|
maybe_disable_widgets() {},
|
||||||
});
|
});
|
||||||
|
|
||||||
current_user.is_admin = true;
|
|
||||||
|
|
||||||
const people = zrequire("people");
|
const people = zrequire("people");
|
||||||
const settings_config = zrequire("settings_config");
|
const settings_config = zrequire("settings_config");
|
||||||
const user_events = zrequire("user_events");
|
const user_events = zrequire("user_events");
|
||||||
|
|||||||
Reference in New Issue
Block a user