diff --git a/web/tests/compose_validate.test.js b/web/tests/compose_validate.test.js index 1561870e85..d8d9617f1a 100644 --- a/web/tests/compose_validate.test.js +++ b/web/tests/compose_validate.test.js @@ -337,19 +337,28 @@ test_ui("test_stream_wildcard_mention_allowed", ({override, override_rewire}) => // policy matters. override_rewire(peer_data, "get_subscriber_count", () => 16); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.by_everyone.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.by_everyone.code, + ); override(current_user, "is_guest", true); override(current_user, "is_admin", false); assert.ok(compose_validate.stream_wildcard_mention_allowed()); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.nobody.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.nobody.code, + ); override(current_user, "is_admin", true); assert.ok(!compose_validate.stream_wildcard_mention_allowed()); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.by_members.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.by_members.code, + ); override(current_user, "is_guest", true); override(current_user, "is_admin", false); assert.ok(!compose_validate.stream_wildcard_mention_allowed()); @@ -357,16 +366,22 @@ test_ui("test_stream_wildcard_mention_allowed", ({override, override_rewire}) => override(current_user, "is_guest", false); assert.ok(compose_validate.stream_wildcard_mention_allowed()); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.by_moderators_only.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.by_moderators_only.code, + ); override(current_user, "is_moderator", false); assert.ok(!compose_validate.stream_wildcard_mention_allowed()); override(current_user, "is_moderator", true); assert.ok(compose_validate.stream_wildcard_mention_allowed()); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.by_admins_only.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.by_admins_only.code, + ); override(current_user, "is_admin", false); assert.ok(!compose_validate.stream_wildcard_mention_allowed()); @@ -375,8 +390,11 @@ test_ui("test_stream_wildcard_mention_allowed", ({override, override_rewire}) => override(current_user, "is_admin", true); assert.ok(compose_validate.stream_wildcard_mention_allowed()); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.by_full_members.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.by_full_members.code, + ); const person = people.get_by_user_id(current_user.user_id); person.date_joined = new Date(Date.now()); override(realm, "realm_waiting_period_threshold", 10); @@ -388,8 +406,11 @@ test_ui("test_stream_wildcard_mention_allowed", ({override, override_rewire}) => // Now, check for small streams (<=15 subscribers) where the wildcard mention // policy doesn't matter; everyone is allowed to use wildcard mentions. override_rewire(peer_data, "get_subscriber_count", () => 14); - realm.realm_wildcard_mention_policy = - settings_config.wildcard_mention_policy_values.by_admins_only.code; + override( + realm, + "realm_wildcard_mention_policy", + settings_config.wildcard_mention_policy_values.by_admins_only.code, + ); override(current_user, "is_admin", false); override(current_user, "is_guest", true); assert.ok(compose_validate.stream_wildcard_mention_allowed()); diff --git a/web/tests/composebox_typeahead.test.js b/web/tests/composebox_typeahead.test.js index dad4de0130..4dc769df48 100644 --- a/web/tests/composebox_typeahead.test.js +++ b/web/tests/composebox_typeahead.test.js @@ -888,9 +888,9 @@ test("initialize", ({override, override_rewire, mock_template}) => { }); let expected_value; - realm.custom_profile_field_types = { + override(realm, "custom_profile_field_types", { PRONOUNS: {id: 8, name: "Pronouns"}, - }; + }); mock_template("typeahead_list_item.hbs", true, (data, html) => { assert.equal(typeof data.primary, "string"); diff --git a/web/tests/dispatch.test.js b/web/tests/dispatch.test.js index e2bab7367d..654e142894 100644 --- a/web/tests/dispatch.test.js +++ b/web/tests/dispatch.test.js @@ -474,7 +474,7 @@ run_test("realm settings", ({override}) => { // realm function test_realm_boolean(event, parameter_name) { - realm[parameter_name] = true; + override(realm, parameter_name, true); event = {...event}; event.value = false; dispatch(event); @@ -486,7 +486,7 @@ run_test("realm settings", ({override}) => { } function test_realm_integer(event, parameter_name) { - realm[parameter_name] = 1; + override(realm, parameter_name, 1); event = {...event}; event.value = 2; dispatch(event); diff --git a/web/tests/people.test.js b/web/tests/people.test.js index 62fdf94fb2..e7e5d69bbb 100644 --- a/web/tests/people.test.js +++ b/web/tests/people.test.js @@ -576,10 +576,10 @@ test_people("my_custom_profile_data", () => { assert.equal(people.my_custom_profile_data(4), "My phone number"); }); -test_people("get_custom_fields_by_type", () => { +test_people("get_custom_fields_by_type", ({override}) => { people.add_active_user(stewie); const person = people.get_by_user_id(stewie.user_id); - realm.custom_profile_field_types = { + override(realm, "custom_profile_field_types", { SHORT_TEXT: { id: 1, name: "Short text", @@ -588,8 +588,8 @@ test_people("get_custom_fields_by_type", () => { id: 8, name: "Pronouns", }, - }; - realm.custom_profile_fields = [ + }); + override(realm, "custom_profile_fields", [ { id: 1, name: "Phone number (mobile)", @@ -605,7 +605,7 @@ test_people("get_custom_fields_by_type", () => { name: "Pronouns", type: 8, }, - ]; + ]); const SHORT_TEXT_ID = 1; assert.deepEqual(people.get_custom_fields_by_type(person.user_id, SHORT_TEXT_ID), [ "(888) 888-8888", diff --git a/web/tests/settings_bots.test.js b/web/tests/settings_bots.test.js index dca6581c6c..5b77486f8e 100644 --- a/web/tests/settings_bots.test.js +++ b/web/tests/settings_bots.test.js @@ -40,11 +40,11 @@ bot_data.initialize(bot_data_params); function test(label, f) { run_test(label, ({override}) => { override(realm, "realm_url", "https://chat.example.com"); - realm.realm_embedded_bots = [ + override(realm, "realm_embedded_bots", [ {name: "converter", config: {}}, {name: "giphy", config: {key: "12345678"}}, {name: "foobot", config: {bar: "baz", qux: "quux"}}, - ]; + ]); f({override}); }); diff --git a/web/tests/settings_data.test.js b/web/tests/settings_data.test.js index a0a0a00a24..4389dd8305 100644 --- a/web/tests/settings_data.test.js +++ b/web/tests/settings_data.test.js @@ -112,34 +112,34 @@ run_test("user_can_change_logo", ({override}) => { function test_policy(label, policy, validation_func) { run_test(label, ({override}) => { override(current_user, "is_admin", true); - realm[policy] = settings_config.common_policy_values.by_admins_only.code; + override(realm, policy, settings_config.common_policy_values.by_admins_only.code); assert.equal(validation_func(), true); override(current_user, "is_admin", false); assert.equal(validation_func(), false); override(current_user, "is_moderator", true); - realm[policy] = settings_config.common_policy_values.by_moderators_only.code; + override(realm, policy, settings_config.common_policy_values.by_moderators_only.code); assert.equal(validation_func(), true); override(current_user, "is_moderator", false); assert.equal(validation_func(), false); override(current_user, "is_guest", true); - realm[policy] = settings_config.common_policy_values.by_members.code; + override(realm, policy, settings_config.common_policy_values.by_members.code); assert.equal(validation_func(), false); override(current_user, "is_guest", false); assert.equal(validation_func(), true); page_params.is_spectator = true; - realm[policy] = settings_config.common_policy_values.by_members.code; + override(realm, policy, settings_config.common_policy_values.by_members.code); assert.equal(validation_func(), false); page_params.is_spectator = false; assert.equal(validation_func(), true); - realm[policy] = settings_config.common_policy_values.by_full_members.code; + override(realm, policy, settings_config.common_policy_values.by_full_members.code); override(current_user, "user_id", 30); isaac.date_joined = new Date(Date.now()); settings_data.initialize(isaac.date_joined); @@ -176,30 +176,34 @@ test_policy( function test_message_policy(label, policy, validation_func) { run_test(label, ({override}) => { override(current_user, "is_admin", true); - realm[policy] = settings_config.common_message_policy_values.by_admins_only.code; + override(realm, policy, settings_config.common_message_policy_values.by_admins_only.code); assert.equal(validation_func(), true); override(current_user, "is_admin", false); override(current_user, "is_moderator", true); assert.equal(validation_func(), false); - realm[policy] = settings_config.common_message_policy_values.by_moderators_only.code; + override( + realm, + policy, + settings_config.common_message_policy_values.by_moderators_only.code, + ); assert.equal(validation_func(), true); override(current_user, "is_moderator", false); assert.equal(validation_func(), false); override(current_user, "is_guest", true); - realm[policy] = settings_config.common_message_policy_values.by_everyone.code; + override(realm, policy, settings_config.common_message_policy_values.by_everyone.code); assert.equal(validation_func(), true); - realm[policy] = settings_config.common_message_policy_values.by_members.code; + override(realm, policy, settings_config.common_message_policy_values.by_members.code); assert.equal(validation_func(), false); override(current_user, "is_guest", false); assert.equal(validation_func(), true); - realm[policy] = settings_config.common_message_policy_values.by_full_members.code; + override(realm, policy, settings_config.common_message_policy_values.by_full_members.code); override(current_user, "user_id", 30); isaac.date_joined = new Date(Date.now()); override(realm, "realm_waiting_period_threshold", 10); @@ -232,8 +236,11 @@ run_test("user_can_move_messages_to_another_topic_nobody_case", ({override}) => run_test("user_can_move_messages_between_streams_nobody_case", ({override}) => { override(current_user, "is_admin", true); override(current_user, "is_guest", false); - realm.realm_move_messages_between_streams_policy = - settings_config.move_messages_between_streams_policy_values.nobody.code; + override( + realm, + "realm_move_messages_between_streams_policy", + settings_config.move_messages_between_streams_policy_values.nobody.code, + ); assert.equal(settings_data.user_can_move_messages_between_streams(), false); }); @@ -272,8 +279,11 @@ run_test("using_dark_theme", ({override}) => { run_test("user_can_invite_others_to_realm_nobody_case", ({override}) => { override(current_user, "is_admin", true); override(current_user, "is_guest", false); - realm.realm_invite_to_realm_policy = - settings_config.email_invite_to_realm_policy_values.nobody.code; + override( + realm, + "realm_invite_to_realm_policy", + settings_config.email_invite_to_realm_policy_values.nobody.code, + ); assert.equal(settings_data.user_can_invite_users_by_email(), false); }); @@ -322,14 +332,14 @@ function test_realm_group_settings(setting_name, validation_func) { page_params.is_spectator = false; override(current_user, "is_guest", false); - realm[setting_name] = 1; + override(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(realm, setting_name, 2); override(current_user, "user_id", moderator_user_id); assert.equal(validation_func(), true); diff --git a/web/tests/settings_org.test.js b/web/tests/settings_org.test.js index 328903eb63..6402a3d71e 100644 --- a/web/tests/settings_org.test.js +++ b/web/tests/settings_org.test.js @@ -3,7 +3,7 @@ const assert = require("node:assert/strict"); const {$t} = require("./lib/i18n"); -const {mock_esm, zrequire, set_global} = require("./lib/namespace"); +const {mock_esm, set_global, zrequire} = require("./lib/namespace"); const {run_test, noop} = require("./lib/test"); const blueslip = require("./lib/zblueslip"); const $ = require("./lib/zjquery"); @@ -38,10 +38,10 @@ function test(label, f) { run_test(label, (helpers) => { $("#realm-icon-upload-widget .upload-spinner-background").css = noop; helpers.override(current_user, "is_admin", false); - realm.realm_domains = [ + helpers.override(realm, "realm_domains", [ {domain: "example.com", allow_subdomains: true}, {domain: "example.org", allow_subdomains: false}, - ]; + ]); helpers.override(realm, "realm_authentication_methods", {}); settings_org.reset(); f(helpers); @@ -320,11 +320,15 @@ function test_sync_realm_settings({override}) { in the following order - by_admins_only, by_moderators_only, by_full_members, by_members. */ - realm[`realm_${property_name}`] = settings_config.common_policy_values.by_members.code; + override( + realm, + `realm_${property_name}`, + settings_config.common_policy_values.by_members.code, + ); $property_elem.val(settings_config.common_policy_values.by_members.code); for (const policy_value of Object.values(settings_config.common_policy_values)) { - realm[`realm_${property_name}`] = policy_value.code; + override(realm, `realm_${property_name}`, policy_value.code); settings_org.sync_realm_settings(property_name); assert.equal($property_elem.val(), policy_value.code); } @@ -409,12 +413,15 @@ function test_sync_realm_settings({override}) { } } -function test_parse_time_limit() { +function test_parse_time_limit({override}) { const $elem = $("#id_realm_message_content_edit_limit_minutes"); const test_function = (value, expected_value = value) => { $elem.val(value); - realm.realm_message_content_edit_limit_seconds = - settings_components.parse_time_limit($elem); + override( + realm, + "realm_message_content_edit_limit_seconds", + settings_components.parse_time_limit($elem), + ); assert.equal( settings_components.get_realm_time_limits_in_minutes( "realm_message_content_edit_limit_seconds", @@ -516,7 +523,7 @@ function test_discard_changes_button({override}, discard_changes) { test("set_up", ({override, override_rewire}) => { override_rewire(settings_org, "check_disable_message_delete_limit_setting_dropdown", noop); - realm.realm_available_video_chat_providers = { + override(realm, "realm_available_video_chat_providers", { jitsi_meet: { id: 1, name: "Jitsi Meet", @@ -529,7 +536,7 @@ test("set_up", ({override, override_rewire}) => { id: 4, name: "BigBlueButton", }, - }; + }); let upload_realm_logo_or_icon; realm_icon.build_realm_icon_widget = (f) => { @@ -679,7 +686,7 @@ test("set_up", ({override, override_rewire}) => { test_extract_property_name(); test_change_save_button_state(); test_sync_realm_settings({override}); - test_parse_time_limit(); + test_parse_time_limit({override}); test_discard_changes_button( {override}, $(".admin-realm-form").get_on_handler( diff --git a/web/tests/typeahead_helper.test.js b/web/tests/typeahead_helper.test.js index 1260749b5f..72c6a5556d 100644 --- a/web/tests/typeahead_helper.test.js +++ b/web/tests/typeahead_helper.test.js @@ -826,11 +826,11 @@ test("highlight_with_escaping", () => { assert.equal(result, expected); }); -test("render_person when emails hidden", ({mock_template}) => { +test("render_person when emails hidden", ({mock_template, override}) => { // Test render_person with regular person, under hidden email visibility case - realm.custom_profile_field_types = { + override(realm, "custom_profile_field_types", { PRONOUNS: {id: 8, name: "Pronouns"}, - }; + }); let rendered = false; mock_template("typeahead_list_item.hbs", false, (args) => { assert.equal(args.primary, b_user_1.full_name); @@ -842,12 +842,12 @@ test("render_person when emails hidden", ({mock_template}) => { assert.ok(rendered); }); -test("render_person", ({mock_template}) => { +test("render_person", ({mock_template, override}) => { // Test render_person with regular person a_user.delivery_email = "a_user_delivery@zulip.org"; - realm.custom_profile_field_types = { + override(realm, "custom_profile_field_types", { PRONOUNS: {id: 8, name: "Pronouns"}, - }; + }); let rendered = false; mock_template("typeahead_list_item.hbs", false, (args) => { assert.equal(args.primary, a_user.full_name); diff --git a/web/tests/user_groups.test.js b/web/tests/user_groups.test.js index 728df4bd19..033fef2c42 100644 --- a/web/tests/user_groups.test.js +++ b/web/tests/user_groups.test.js @@ -370,7 +370,7 @@ run_test("is_user_in_group", () => { assert.equal(user_groups.is_user_in_group(admins.id, 6), false); }); -run_test("get_realm_user_groups_for_dropdown_list_widget", () => { +run_test("get_realm_user_groups_for_dropdown_list_widget", ({override}) => { const nobody = { name: "role:nobody", description: "foo", @@ -443,7 +443,7 @@ run_test("get_realm_user_groups_for_dropdown_list_widget", () => { direct_subgroup_ids: new Set([4, 5]), }; - realm.server_supported_permission_settings = { + override(realm, "server_supported_permission_settings", { stream: { can_remove_subscribers_group: { require_system_group: true, @@ -478,7 +478,7 @@ run_test("get_realm_user_groups_for_dropdown_list_widget", () => { allowed_system_groups: ["role:everyone", "role:members"], }, }, - }; + }); let expected_groups_list = [ {name: "translated: Admins, moderators, members and guests", unique_id: 6},