mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
This commit adds a "Followed topics" row to the 'Notification Triggers' table in the 'Personal settings > Notifications' panel and the 'Organization settings > Default user settings' panel. This adds support to control email, push, wildcard mention, visual desktop, and audible desktop notifications for messages sent to followed topics by toggling corresponding global notification settings. The "Followed topics" row is available in the development environment only.
137 lines
4.9 KiB
JavaScript
137 lines
4.9 KiB
JavaScript
"use strict";
|
|
|
|
const {strict: assert} = require("assert");
|
|
|
|
const {zrequire} = require("./lib/namespace");
|
|
const {run_test} = require("./lib/test");
|
|
const {user_settings} = require("./lib/zpage_params");
|
|
|
|
const settings_config = zrequire("settings_config");
|
|
|
|
run_test("all_notifications", () => {
|
|
user_settings.enable_stream_desktop_notifications = false;
|
|
user_settings.enable_stream_audible_notifications = true;
|
|
user_settings.enable_stream_push_notifications = true;
|
|
user_settings.enable_stream_email_notifications = false;
|
|
user_settings.enable_desktop_notifications = false;
|
|
user_settings.enable_sounds = true;
|
|
user_settings.enable_offline_push_notifications = false;
|
|
user_settings.enable_offline_email_notifications = true;
|
|
user_settings.enable_followed_topic_desktop_notifications = false;
|
|
user_settings.enable_followed_topic_audible_notifications = true;
|
|
user_settings.enable_followed_topic_push_notifications = false;
|
|
user_settings.enable_followed_topic_email_notifications = true;
|
|
user_settings.enable_followed_topic_wildcard_mentions_notify = false;
|
|
|
|
// Check that it throws error if incorrect settings name
|
|
// is passed. In this case, we articulate that with
|
|
// wildcard_mentions_notify being undefined, which will be
|
|
// the case, if a wrong setting_name is passed.
|
|
let error_message;
|
|
let error_name;
|
|
try {
|
|
settings_config.all_notifications(user_settings);
|
|
} catch (error) {
|
|
error_name = error.name;
|
|
error_message = error.message;
|
|
}
|
|
assert.equal(error_name, "TypeError");
|
|
assert.equal(error_message, "Incorrect setting_name passed: wildcard_mentions_notify");
|
|
|
|
user_settings.wildcard_mentions_notify = false;
|
|
const notifications = settings_config.all_notifications(user_settings);
|
|
|
|
assert.deepEqual(notifications.general_settings, [
|
|
{
|
|
label: "translated: Streams",
|
|
notification_settings: [
|
|
{
|
|
is_checked: false,
|
|
is_disabled: false,
|
|
setting_name: "enable_stream_desktop_notifications",
|
|
},
|
|
{
|
|
is_checked: true,
|
|
is_disabled: false,
|
|
setting_name: "enable_stream_audible_notifications",
|
|
},
|
|
{
|
|
is_checked: true,
|
|
is_disabled: true,
|
|
setting_name: "enable_stream_push_notifications",
|
|
},
|
|
{
|
|
is_checked: false,
|
|
is_disabled: false,
|
|
setting_name: "enable_stream_email_notifications",
|
|
},
|
|
{
|
|
is_checked: false,
|
|
is_disabled: false,
|
|
setting_name: "wildcard_mentions_notify",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
label: "translated: DMs, mentions, and alerts",
|
|
notification_settings: [
|
|
{
|
|
is_checked: false,
|
|
is_disabled: false,
|
|
setting_name: "enable_desktop_notifications",
|
|
},
|
|
{
|
|
is_checked: true,
|
|
is_disabled: false,
|
|
setting_name: "enable_sounds",
|
|
},
|
|
{
|
|
is_checked: false,
|
|
is_disabled: true,
|
|
setting_name: "enable_offline_push_notifications",
|
|
},
|
|
{
|
|
is_checked: true,
|
|
is_disabled: false,
|
|
setting_name: "enable_offline_email_notifications",
|
|
},
|
|
{
|
|
is_checked: false,
|
|
is_disabled: true,
|
|
setting_name: "",
|
|
},
|
|
],
|
|
},
|
|
{
|
|
label: "translated: Followed topics",
|
|
notification_settings: [
|
|
{
|
|
is_checked: false,
|
|
is_disabled: false,
|
|
setting_name: "enable_followed_topic_desktop_notifications",
|
|
},
|
|
{
|
|
is_checked: true,
|
|
is_disabled: false,
|
|
setting_name: "enable_followed_topic_audible_notifications",
|
|
},
|
|
{
|
|
is_checked: false,
|
|
is_disabled: true,
|
|
setting_name: "enable_followed_topic_push_notifications",
|
|
},
|
|
{
|
|
is_checked: true,
|
|
is_disabled: false,
|
|
setting_name: "enable_followed_topic_email_notifications",
|
|
},
|
|
{
|
|
is_checked: false,
|
|
is_disabled: false,
|
|
setting_name: "enable_followed_topic_wildcard_mentions_notify",
|
|
},
|
|
],
|
|
},
|
|
]);
|
|
});
|