zulip/frontend_tests/node_tests/settings_data.js

59 lines
1.7 KiB
JavaScript

const settings_data = zrequire('settings_data');
const settings_config = zrequire('settings_config');
set_global('page_params', {});
/*
Some methods in settings_data are fairly
trivial, so the meaningful tests happen
at the higher layers, such as when we
test people.js.
*/
const isaac = {
email: 'isaac@example.com',
delivery_email: 'isaac-delivery@example.com',
};
run_test('email_for_user_settings', () => {
const email = settings_data.email_for_user_settings;
page_params.realm_email_address_visibility = settings_config.email_address_visibility_values
.admins_only.code;
assert.equal(email(isaac), undefined);
page_params.is_admin = true;
assert.equal(email(isaac), isaac.delivery_email);
page_params.realm_email_address_visibility = settings_config.email_address_visibility_values
.nobody.code;
assert.equal(email(isaac), undefined);
page_params.is_admin = false;
assert.equal(email(isaac), undefined);
page_params.realm_email_address_visibility = settings_config.email_address_visibility_values
.everyone.code;
assert.equal(email(isaac), isaac.email);
});
run_test('user_can_change_logo', () => {
const can_change_logo = settings_data.user_can_change_logo;
page_params.is_admin = true;
page_params.zulip_plan_is_not_limited = true;
assert.equal(can_change_logo(), true);
page_params.is_admin = false;
page_params.zulip_plan_is_not_limited = false;
assert.equal(can_change_logo(), false);
page_params.is_admin = true;
page_params.zulip_plan_is_not_limited = false;
assert.equal(can_change_logo(), false);
page_params.is_admin = false;
page_params.zulip_plan_is_not_limited = true;
assert.equal(can_change_logo(), false);
});