mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 21:13:36 +00:00
refactor: Extract stream_settings_data.
This is mostly a pure code move. In passing I remove an unneeded call to update_calculated_fields in the dispatch code, plus some tests that don't need them.
This commit is contained in:
@@ -16,6 +16,7 @@ const peer_data = zrequire("peer_data");
|
||||
const people = zrequire("people");
|
||||
const presence = zrequire("presence");
|
||||
const stream_data = zrequire("stream_data");
|
||||
const stream_settings_data = zrequire("stream_settings_data");
|
||||
const user_status = zrequire("user_status");
|
||||
const buddy_data = zrequire("buddy_data");
|
||||
|
||||
@@ -179,7 +180,7 @@ test("compose fade interactions (streams)", () => {
|
||||
};
|
||||
stream_data.add_sub(sub);
|
||||
stream_data.subscribe_myself(sub);
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
|
||||
people.add_active_user(fred);
|
||||
|
||||
@@ -225,7 +226,7 @@ test("compose fade interactions (missing topic)", () => {
|
||||
};
|
||||
stream_data.add_sub(sub);
|
||||
stream_data.subscribe_myself(sub);
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
|
||||
people.add_active_user(fred);
|
||||
|
||||
|
||||
@@ -187,7 +187,6 @@ test("stream create", (override) => {
|
||||
const stub = make_stub();
|
||||
override(stream_data, "create_streams", stub.f);
|
||||
override(stream_data, "get_sub_by_id", noop);
|
||||
override(stream_data, "update_calculated_fields", noop);
|
||||
override(subs, "add_sub_to_table", noop);
|
||||
override(overlays, "streams_open", () => true);
|
||||
dispatch(event);
|
||||
|
||||
@@ -16,6 +16,7 @@ const narrow_banner = zrequire("narrow_banner");
|
||||
const narrow_state = zrequire("narrow_state");
|
||||
const people = zrequire("people");
|
||||
const stream_data = zrequire("stream_data");
|
||||
const stream_settings_data = zrequire("stream_settings_data");
|
||||
const {Filter} = zrequire("../js/filter");
|
||||
const narrow = zrequire("narrow");
|
||||
|
||||
@@ -117,7 +118,7 @@ run_test("show_empty_narrow_message", () => {
|
||||
|
||||
// for non sub public stream
|
||||
stream_data.add_sub({name: "ROME", stream_id: 99});
|
||||
stream_data.update_calculated_fields(stream_data.get_sub("ROME"));
|
||||
stream_settings_data.update_calculated_fields(stream_data.get_sub("ROME"));
|
||||
set_filter([["stream", "Rome"]]);
|
||||
hide_all_empty_narrow_messages();
|
||||
narrow_banner.show_empty_narrow_message();
|
||||
|
||||
@@ -16,6 +16,7 @@ const {page_params} = require("../zjsunit/zpage_params");
|
||||
const peer_data = zrequire("peer_data");
|
||||
const people = zrequire("people");
|
||||
const stream_data = zrequire("stream_data");
|
||||
const stream_settings_data = zrequire("stream_settings_data");
|
||||
|
||||
page_params.is_admin = false;
|
||||
page_params.realm_users = [];
|
||||
@@ -113,7 +114,7 @@ test("subscribers", () => {
|
||||
]);
|
||||
|
||||
peer_data.set_subscribers(stream_id, [me.user_id, fred.user_id, george.user_id]);
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert(stream_data.is_user_subscribed(stream_id, me.user_id));
|
||||
assert(stream_data.is_user_subscribed(stream_id, fred.user_id));
|
||||
assert(stream_data.is_user_subscribed(stream_id, george.user_id));
|
||||
@@ -181,7 +182,7 @@ test("subscribers", () => {
|
||||
|
||||
// Verify that we noop and don't crash when unsubscribed.
|
||||
sub.subscribed = false;
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
peer_data.add_subscriber(stream_id, brutus.user_id);
|
||||
assert.equal(stream_data.is_user_subscribed(stream_id, brutus.user_id), true);
|
||||
peer_data.remove_subscriber(stream_id, brutus.user_id);
|
||||
@@ -195,7 +196,7 @@ test("subscribers", () => {
|
||||
2,
|
||||
);
|
||||
sub.invite_only = true;
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert.equal(stream_data.is_user_subscribed(stream_id, brutus.user_id), undefined);
|
||||
peer_data.remove_subscriber(stream_id, brutus.user_id);
|
||||
assert.equal(stream_data.is_user_subscribed(stream_id, brutus.user_id), undefined);
|
||||
|
||||
@@ -55,6 +55,7 @@ set_global("FormData", _FormData);
|
||||
const settings_config = zrequire("settings_config");
|
||||
const settings_bots = zrequire("settings_bots");
|
||||
const stream_data = zrequire("stream_data");
|
||||
const stream_settings_data = zrequire("stream_settings_data");
|
||||
const settings_account = zrequire("settings_account");
|
||||
const settings_org = zrequire("settings_org");
|
||||
const dropdown_list_widget = zrequire("dropdown_list_widget");
|
||||
@@ -901,7 +902,7 @@ test("test get_sorted_options_list", () => {
|
||||
assert.deepEqual(settings_org.get_sorted_options_list(option_values_2), expected_option_values);
|
||||
});
|
||||
|
||||
test("misc", () => {
|
||||
test("misc", (override) => {
|
||||
page_params.is_admin = false;
|
||||
|
||||
const stub_notification_disable_parent = $.create("<stub notification_disable parent");
|
||||
@@ -972,7 +973,7 @@ test("misc", () => {
|
||||
settings_account.update_email_change_display();
|
||||
assert(!$("#change_email .button").prop("disabled"));
|
||||
|
||||
stream_data.__Rewire__("get_streams_for_settings_page", () => [
|
||||
override(stream_settings_data, "get_streams_for_settings_page", () => [
|
||||
{name: "some_stream", stream_id: 75},
|
||||
{name: "some_stream", stream_id: 42},
|
||||
]);
|
||||
|
||||
@@ -13,6 +13,7 @@ const color_data = zrequire("color_data");
|
||||
const stream_topic_history = zrequire("stream_topic_history");
|
||||
const people = zrequire("people");
|
||||
const stream_data = zrequire("stream_data");
|
||||
const stream_settings_data = zrequire("stream_settings_data");
|
||||
const settings_config = zrequire("settings_config");
|
||||
|
||||
const me = {
|
||||
@@ -253,7 +254,7 @@ test("admin_options", () => {
|
||||
// non-admins can't do anything
|
||||
page_params.is_admin = false;
|
||||
let sub = make_sub();
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert(!sub.is_realm_admin);
|
||||
assert(!sub.can_change_stream_permissions);
|
||||
|
||||
@@ -265,7 +266,7 @@ test("admin_options", () => {
|
||||
|
||||
// admins can make public streams become private
|
||||
sub = make_sub();
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert(sub.is_realm_admin);
|
||||
assert(sub.can_change_stream_permissions);
|
||||
|
||||
@@ -274,14 +275,14 @@ test("admin_options", () => {
|
||||
sub = make_sub();
|
||||
sub.invite_only = true;
|
||||
sub.subscribed = false;
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert(sub.is_realm_admin);
|
||||
assert(!sub.can_change_stream_permissions);
|
||||
|
||||
sub = make_sub();
|
||||
sub.invite_only = true;
|
||||
sub.subscribed = true;
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert(sub.is_realm_admin);
|
||||
assert(sub.can_change_stream_permissions);
|
||||
});
|
||||
@@ -317,7 +318,7 @@ test("stream_settings", () => {
|
||||
stream_data.add_sub(amber);
|
||||
stream_data.add_sub(blue);
|
||||
|
||||
let sub_rows = stream_data.get_streams_for_settings_page();
|
||||
let sub_rows = stream_settings_data.get_streams_for_settings_page();
|
||||
assert.equal(sub_rows[0].color, "blue");
|
||||
assert.equal(sub_rows[1].color, "amber");
|
||||
assert.equal(sub_rows[2].color, "cinnamon");
|
||||
@@ -344,17 +345,17 @@ test("stream_settings", () => {
|
||||
});
|
||||
stream_data.update_stream_post_policy(sub, 1);
|
||||
stream_data.update_message_retention_setting(sub, -1);
|
||||
stream_data.update_calculated_fields(sub);
|
||||
stream_settings_data.update_calculated_fields(sub);
|
||||
assert.equal(sub.invite_only, false);
|
||||
assert.equal(sub.history_public_to_subscribers, false);
|
||||
assert.equal(sub.stream_post_policy, stream_data.stream_post_policy_values.everyone.code);
|
||||
assert.equal(sub.message_retention_days, -1);
|
||||
|
||||
// For guest user only retrieve subscribed streams
|
||||
sub_rows = stream_data.get_updated_unsorted_subs();
|
||||
sub_rows = stream_settings_data.get_updated_unsorted_subs();
|
||||
assert.equal(sub_rows.length, 3);
|
||||
page_params.is_guest = true;
|
||||
sub_rows = stream_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[1].name, "a");
|
||||
assert.equal(sub_rows.length, 2);
|
||||
@@ -542,7 +543,7 @@ test("notifications", () => {
|
||||
antarctica.push_notifications = null;
|
||||
antarctica.wildcard_mentions_notify = null;
|
||||
|
||||
const unmatched_streams = stream_data.get_unmatched_streams_for_notification_settings();
|
||||
const unmatched_streams = stream_settings_data.get_unmatched_streams_for_notification_settings();
|
||||
const expected_streams = [
|
||||
{
|
||||
desktop_notifications: true,
|
||||
@@ -765,7 +766,7 @@ test("edge_cases", () => {
|
||||
const bad_stream_ids = [555555, 99999];
|
||||
|
||||
// just make sure we don't explode
|
||||
stream_data.sort_for_stream_settings(bad_stream_ids);
|
||||
stream_settings_data.sort_for_stream_settings(bad_stream_ids);
|
||||
});
|
||||
|
||||
test("get_invite_stream_data", () => {
|
||||
|
||||
@@ -46,6 +46,7 @@ const peer_data = zrequire("peer_data");
|
||||
const people = zrequire("people");
|
||||
const stream_data = zrequire("stream_data");
|
||||
const stream_events = zrequire("stream_events");
|
||||
const stream_settings_data = zrequire("stream_settings_data");
|
||||
|
||||
const george = {
|
||||
email: "george@zulip.com",
|
||||
@@ -266,7 +267,7 @@ test("marked_subscribed (normal)", (override) => {
|
||||
const sub = {...frontend};
|
||||
stream_data.add_sub(sub);
|
||||
override(stream_data, "subscribe_myself", noop);
|
||||
override(stream_data, "update_calculated_fields", noop);
|
||||
override(stream_settings_data, "update_calculated_fields", noop);
|
||||
|
||||
override(stream_color, "update_stream_color", noop);
|
||||
|
||||
@@ -303,7 +304,7 @@ test("marked_subscribed (normal)", (override) => {
|
||||
|
||||
test("marked_subscribed (color)", (override) => {
|
||||
override(stream_data, "subscribe_myself", noop);
|
||||
override(stream_data, "update_calculated_fields", noop);
|
||||
override(stream_settings_data, "update_calculated_fields", noop);
|
||||
override(message_util, "do_unread_count_updates", noop);
|
||||
override(stream_list, "add_sidebar_row", noop);
|
||||
|
||||
@@ -334,7 +335,7 @@ test("marked_subscribed (color)", (override) => {
|
||||
test("marked_subscribed (emails)", (override) => {
|
||||
const sub = {...frontend};
|
||||
stream_data.add_sub(sub);
|
||||
override(stream_data, "update_calculated_fields", noop);
|
||||
override(stream_settings_data, "update_calculated_fields", noop);
|
||||
override(stream_color, "update_stream_color", noop);
|
||||
|
||||
// Test assigning subscriber emails
|
||||
@@ -357,7 +358,7 @@ test("marked_subscribed (emails)", (override) => {
|
||||
});
|
||||
|
||||
test("mark_unsubscribed (update_settings_for_unsubscribed)", (override) => {
|
||||
override(stream_data, "update_calculated_fields", noop);
|
||||
override(stream_settings_data, "update_calculated_fields", noop);
|
||||
|
||||
// Test unsubscribe
|
||||
const sub = {...dev_help};
|
||||
@@ -378,7 +379,7 @@ test("mark_unsubscribed (render_title_area)", (override) => {
|
||||
const sub = {...frontend, subscribed: true};
|
||||
stream_data.add_sub(sub);
|
||||
|
||||
override(stream_data, "update_calculated_fields", noop);
|
||||
override(stream_settings_data, "update_calculated_fields", noop);
|
||||
|
||||
// Test update bookend and remove done event
|
||||
narrow_to_frontend();
|
||||
|
||||
@@ -305,9 +305,6 @@ function get_typeahead_result(query, current_stream, current_topic) {
|
||||
}
|
||||
|
||||
test("sort_recipients", () => {
|
||||
const dev_sub = stream_data.get_sub("Dev");
|
||||
const linux_sub = stream_data.get_sub("Linux");
|
||||
|
||||
// Typeahead for recipientbox [query, "", undefined]
|
||||
assert.deepEqual(get_typeahead_result("b", ""), [
|
||||
"b_user_1@zulip.net",
|
||||
@@ -337,9 +334,6 @@ test("sort_recipients", () => {
|
||||
peer_data.add_subscriber(1, people.get_user_id(subscriber_email_2));
|
||||
peer_data.add_subscriber(1, people.get_user_id(subscriber_email_3));
|
||||
|
||||
stream_data.update_calculated_fields(dev_sub);
|
||||
stream_data.update_calculated_fields(linux_sub);
|
||||
|
||||
// For splitting based on whether a PM was sent
|
||||
pm_conversations.set_partner(5);
|
||||
pm_conversations.set_partner(6);
|
||||
|
||||
Reference in New Issue
Block a user