node tests: Clean up mock_module calls.

This is a deceptively ugly diff.  It makes
the actual code way more tidy.

I basically inlined some calls to mock_module
and put some statements in lexical order.
This commit is contained in:
Steve Howell
2021-03-07 12:57:14 +00:00
committed by Steve Howell
parent 7cf62cd6b1
commit eea78df688
45 changed files with 345 additions and 496 deletions

View File

@@ -23,53 +23,38 @@ const _document = {
}, },
}; };
const channel = {}; const compose_state = mock_module("compose_state");
const channel = mock_module("channel");
const _keydown_util = {
handle: (opts) => {
filter_key_handlers = opts.handlers;
},
};
const compose_state = {};
const _scroll_util = {
scroll_element_into_container: () => {},
};
const _pm_list = {
update_private_messages: () => {},
};
const _popovers = {
hide_all_except_sidebars() {},
hide_all() {},
show_userlist_sidebar() {},
};
const _stream_popover = {
show_streamlist_sidebar() {},
};
const _resize = {
resize_sidebars: () => {},
resize_page_components: () => {},
};
mock_module("padded_widget", { mock_module("padded_widget", {
update_padding: () => {}, update_padding: () => {},
}); });
mock_module("channel", channel); mock_module("keydown_util", {
mock_module("compose_state", compose_state); handle: (opts) => {
mock_module("keydown_util", _keydown_util); filter_key_handlers = opts.handlers;
mock_module("pm_list", _pm_list); },
mock_module("popovers", _popovers); });
mock_module("resize", _resize); mock_module("pm_list", {
mock_module("scroll_util", _scroll_util); update_private_messages: () => {},
});
mock_module("popovers", {
hide_all_except_sidebars() {},
hide_all() {},
show_userlist_sidebar() {},
});
mock_module("resize", {
resize_sidebars: () => {},
resize_page_components: () => {},
});
mock_module("scroll_util", {
scroll_element_into_container: () => {},
});
mock_module("server_events", { mock_module("server_events", {
check_for_unsuspend() {}, check_for_unsuspend() {},
}); });
mock_module("stream_popover", _stream_popover); mock_module("stream_popover", {
show_streamlist_sidebar() {},
});
set_global("document", _document); set_global("document", _document);
const huddle_data = zrequire("huddle_data"); const huddle_data = zrequire("huddle_data");

View File

@@ -7,11 +7,9 @@ const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const channel = {}; const channel = mock_module("channel");
mock_module("channel", channel);
const alert_words = zrequire("alert_words"); const alert_words = zrequire("alert_words");
const alert_words_ui = zrequire("alert_words_ui"); const alert_words_ui = zrequire("alert_words_ui");
alert_words.initialize({ alert_words.initialize({

View File

@@ -13,13 +13,13 @@ const template = fs.readFileSync("templates/corporate/billing.html", "utf-8");
const dom = new JSDOM(template, {pretendToBeVisual: true}); const dom = new JSDOM(template, {pretendToBeVisual: true});
const document = dom.window.document; const document = dom.window.document;
const helpers = {
set_tab: () => {},
};
const StripeCheckout = set_global("StripeCheckout", { const StripeCheckout = set_global("StripeCheckout", {
configure: () => {}, configure: () => {},
}); });
mock_module("billing/helpers", helpers);
const helpers = mock_module("billing/helpers", {
set_tab: () => {},
});
run_test("initialize", (override) => { run_test("initialize", (override) => {
let token_func; let token_func;

View File

@@ -5,11 +5,9 @@ const {strict: assert} = require("assert");
const {mock_module, zrequire} = require("../zjsunit/namespace"); const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const _settings_bots = { mock_module("settings_bots", {
render_bots: () => {}, render_bots: () => {},
}; });
mock_module("settings_bots", _settings_bots);
const bot_data = zrequire("bot_data"); const bot_data = zrequire("bot_data");
const people = zrequire("people"); const people = zrequire("people");

View File

@@ -9,11 +9,9 @@ const {run_test} = require("../zjsunit/test");
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const timerender = {}; const timerender = mock_module("timerender");
mock_module("timerender", timerender);
const people = zrequire("people"); const people = zrequire("people");
const presence = zrequire("presence"); const presence = zrequire("presence");
const user_status = zrequire("user_status"); const user_status = zrequire("user_status");
const buddy_data = zrequire("buddy_data"); const buddy_data = zrequire("buddy_data");

View File

@@ -7,9 +7,8 @@ const _ = require("lodash");
const {mock_module, set_global, zrequire} = require("../zjsunit/namespace"); const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const reload = {}; const reload = mock_module("reload");
mock_module("reload", reload);
set_global("setTimeout", (f, delay) => { set_global("setTimeout", (f, delay) => {
assert.equal(delay, 0); assert.equal(delay, 0);
f(); f();

View File

@@ -40,43 +40,35 @@ const _document = {
to_$: () => $("document-stub"), to_$: () => $("document-stub"),
}; };
const _drafts = {
delete_draft_after_send: noop,
};
const sent_messages = {
start_tracking_message: noop,
};
const _notifications = {
notify_above_composebox: noop,
clear_compose_notifications: noop,
};
const reminder = {
is_deferred_delivery: noop,
};
set_global("document", _document); set_global("document", _document);
const channel = mock_module("channel"); const channel = mock_module("channel");
const loading = mock_module("loading"); const loading = mock_module("loading");
const local_message = mock_module("local_message"); const local_message = mock_module("local_message");
const markdown = mock_module("markdown"); const markdown = mock_module("markdown");
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const reminder = mock_module("reminder", {
is_deferred_delivery: noop,
});
const resize = mock_module("resize"); const resize = mock_module("resize");
const sent_messages = mock_module("sent_messages", {
start_tracking_message: noop,
});
const stream_edit = mock_module("stream_edit"); const stream_edit = mock_module("stream_edit");
const subs = mock_module("subs"); const subs = mock_module("subs");
const transmit = mock_module("transmit"); const transmit = mock_module("transmit");
mock_module("drafts", _drafts); const ui_util = mock_module("ui_util");
mock_module("notifications", _notifications); mock_module("drafts", {
mock_module("reminder", reminder); delete_draft_after_send: noop,
});
mock_module("notifications", {
notify_above_composebox: noop,
clear_compose_notifications: noop,
});
mock_module("rendered_markdown", { mock_module("rendered_markdown", {
update_elements: () => {}, update_elements: () => {},
}); });
mock_module("sent_messages", sent_messages);
set_global("navigator", _navigator); set_global("navigator", _navigator);
const ui_util = {};
mock_module("ui_util", ui_util);
// Setting these up so that we can test that links to uploads within messages are // Setting these up so that we can test that links to uploads within messages are
// automatically converted to server relative links. // automatically converted to server relative links.

View File

@@ -15,36 +15,27 @@ set_global("document", {
to_$: () => $("document-stub"), to_$: () => $("document-stub"),
}); });
const compose_pm_pill = {}; const channel = mock_module("channel");
const compose_fade = mock_module("compose_fade", {
mock_module("compose_pm_pill", compose_pm_pill); clear_compose: noop,
const hash_util = {}; });
const compose_pm_pill = mock_module("compose_pm_pill");
mock_module("hash_util", hash_util); const hash_util = mock_module("hash_util");
const narrow_state = mock_module("narrow_state", {
set_compose_defaults: noop,
});
mock_module("notifications", { mock_module("notifications", {
clear_compose_notifications: noop, clear_compose_notifications: noop,
}); });
mock_module("reload_state", { mock_module("reload_state", {
is_in_progress: () => false, is_in_progress: () => false,
}); });
const compose_fade = {
clear_compose: noop,
};
mock_module("compose_fade", compose_fade);
mock_module("drafts", { mock_module("drafts", {
update_draft: noop, update_draft: noop,
}); });
const narrow_state = {
set_compose_defaults: noop,
};
mock_module("common", { mock_module("common", {
status_classes: "status_classes", status_classes: "status_classes",
}); });
mock_module("narrow_state", narrow_state);
mock_module("unread_ops", { mock_module("unread_ops", {
notify_server_message_read: noop, notify_server_message_read: noop,
}); });
@@ -54,9 +45,6 @@ set_global("current_msg_list", {
}, },
}); });
const channel = {};
mock_module("channel", channel);
const people = zrequire("people"); const people = zrequire("people");
const compose_ui = zrequire("compose_ui"); const compose_ui = zrequire("compose_ui");

View File

@@ -5,9 +5,8 @@ const {strict: assert} = require("assert");
const {mock_module, zrequire} = require("../zjsunit/namespace"); const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const compose_pm_pill = {}; const compose_pm_pill = mock_module("compose_pm_pill");
mock_module("compose_pm_pill", compose_pm_pill);
const compose_state = zrequire("compose_state"); const compose_state = zrequire("compose_state");
run_test("private_message_recipient", (override) => { run_test("private_message_recipient", (override) => {

View File

@@ -8,13 +8,12 @@ const $ = require("../zjsunit/zjquery");
const events = require("./lib/events"); const events = require("./lib/events");
const resize = {
watch_manual_resize() {},
};
const channel = mock_module("channel"); const channel = mock_module("channel");
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const upload = mock_module("upload"); const upload = mock_module("upload");
mock_module("resize", resize); mock_module("resize", {
watch_manual_resize() {},
});
set_global("csrf_token", "fake-csrf-token"); set_global("csrf_token", "fake-csrf-token");
set_global("document", { set_global("document", {
execCommand() { execCommand() {

View File

@@ -8,22 +8,17 @@ const $ = require("../zjsunit/zjquery");
const noop = () => {}; const noop = () => {};
const stream_topic_history = {};
mock_module("stream_topic_history", stream_topic_history);
const message_store = {
user_ids: () => [],
};
const channel = mock_module("channel"); const channel = mock_module("channel");
const page_params = set_global("page_params", {}); const compose = mock_module("compose", {
mock_module("message_store", message_store);
const compose = {
finish: noop, finish: noop,
}; });
const message_store = mock_module("message_store", {
user_ids: () => [],
});
const stream_topic_history = mock_module("stream_topic_history");
const page_params = set_global("page_params", {});
mock_module("compose", compose);
let autosize_called; let autosize_called;
mock_module("compose_ui", { mock_module("compose_ui", {

View File

@@ -8,17 +8,15 @@ const {JSDOM} = require("jsdom");
const {mock_module, set_global, zrequire} = require("../zjsunit/namespace"); const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
set_global("page_params", {
development_environment: true,
});
const compose_ui = {};
mock_module("compose_ui", compose_ui);
const {window} = new JSDOM("<!DOCTYPE html><p>Hello world</p>"); const {window} = new JSDOM("<!DOCTYPE html><p>Hello world</p>");
const {DOMParser, document} = window; const {DOMParser, document} = window;
const $ = set_global("$", jquery(window)); const $ = set_global("$", jquery(window));
const compose_ui = mock_module("compose_ui");
set_global("page_params", {
development_environment: true,
});
set_global("DOMParser", DOMParser); set_global("DOMParser", DOMParser);
set_global("document", document); set_global("document", document);

View File

@@ -57,13 +57,11 @@ const typing_events = mock_module("typing_events");
const ui = mock_module("ui"); const ui = mock_module("ui");
const unread_ops = mock_module("unread_ops"); const unread_ops = mock_module("unread_ops");
const user_events = mock_module("user_events"); const user_events = mock_module("user_events");
const user_groups = mock_module("user_groups");
mock_module("compose"); mock_module("compose");
set_global("current_msg_list", {}); set_global("current_msg_list", {});
set_global("home_msg_list", {}); set_global("home_msg_list", {});
const user_groups = {};
mock_module("user_groups", user_groups);
// page_params is highly coupled to dispatching now // page_params is highly coupled to dispatching now
const page_params = set_global("page_params", { const page_params = set_global("page_params", {

View File

@@ -12,26 +12,19 @@ const event_fixtures = events.fixtures;
const test_user = events.test_user; const test_user = events.test_user;
const compose_fade = mock_module("compose_fade"); const compose_fade = mock_module("compose_fade");
const stream_events = mock_module("stream_events");
const subs = {};
const narrow_state = mock_module("narrow_state"); const narrow_state = mock_module("narrow_state");
const overlays = mock_module("overlays"); const overlays = mock_module("overlays");
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const settings_org = mock_module("settings_org"); const settings_org = mock_module("settings_org");
const settings_streams = mock_module("settings_streams"); const settings_streams = mock_module("settings_streams");
mock_module("subs", subs); const stream_events = mock_module("stream_events");
const stream_list = mock_module("stream_list");
const subs = mock_module("subs");
set_global("current_msg_list", {}); set_global("current_msg_list", {});
const stream_list = {};
mock_module("stream_list", stream_list);
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");
const server_events_dispatch = zrequire("server_events_dispatch"); const server_events_dispatch = zrequire("server_events_dispatch");
const noop = () => {}; const noop = () => {};

View File

@@ -7,10 +7,9 @@ const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const noop = () => {}; const noop = () => {};
const _ListWidget = { mock_module("list_widget", {
create: () => ({init: noop}), create: () => ({init: noop}),
}; });
mock_module("list_widget", _ListWidget);
const {DropdownListWidget: dropdown_list_widget} = zrequire("dropdown_list_widget"); const {DropdownListWidget: dropdown_list_widget} = zrequire("dropdown_list_widget");
const setup_zjquery_data = (name) => { const setup_zjquery_data = (name) => {

View File

@@ -5,14 +5,13 @@ const {strict: assert} = require("assert");
const {mock_module, set_global, zrequire} = require("../zjsunit/namespace"); const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const ui_report = { const ui_report = mock_module("ui_report", {
displayed_error: false, displayed_error: false,
error: () => { error: () => {
ui_report.displayed_error = true; ui_report.displayed_error = true;
}, },
}; });
mock_module("ui_report", ui_report);
set_global("location", { set_global("location", {
protocol: "https:", protocol: "https:",
host: "example.com", host: "example.com",

View File

@@ -12,44 +12,6 @@ const {
const {make_stub} = require("../zjsunit/stub"); const {make_stub} = require("../zjsunit/stub");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const popovers = {
actions_popped: () => false,
message_info_popped: () => false,
user_sidebar_popped: () => false,
user_info_popped: () => false,
};
mock_module("popovers", popovers);
const overlays = {
is_active: () => false,
settings_open: () => false,
streams_open: () => false,
lightbox_open: () => false,
drafts_open: () => false,
info_overlay_open: () => false,
};
mock_module("overlays", overlays);
mock_module("stream_popover", {
stream_popped: () => false,
topic_popped: () => false,
all_messages_popped: () => false,
starred_messages_popped: () => false,
});
const emoji_picker = {
reactions_popped: () => false,
};
mock_module("emoji_picker", emoji_picker);
mock_module("hotspots", {
is_open: () => false,
});
const gear_menu = {
is_open: () => false,
};
mock_module("gear_menu", gear_menu);
// Important note on these tests: // Important note on these tests:
// //
@@ -80,27 +42,55 @@ set_global("document", "document-stub");
const compose_actions = mock_module("compose_actions"); const compose_actions = mock_module("compose_actions");
const condense = mock_module("condense"); const condense = mock_module("condense");
const drafts = mock_module("drafts"); const drafts = mock_module("drafts");
const emoji_picker = mock_module("emoji_picker", {
const hashchange = { reactions_popped: () => false,
});
const gear_menu = mock_module("gear_menu", {
is_open: () => false,
});
const hashchange = mock_module("hashchange", {
in_recent_topics_hash: () => false, in_recent_topics_hash: () => false,
}; });
const lightbox = mock_module("lightbox"); const lightbox = mock_module("lightbox");
const list_util = mock_module("list_util"); const list_util = mock_module("list_util");
const message_edit = mock_module("message_edit"); const message_edit = mock_module("message_edit");
const muting_ui = mock_module("muting_ui"); const muting_ui = mock_module("muting_ui");
const narrow = mock_module("narrow"); const narrow = mock_module("narrow");
const navigate = mock_module("navigate"); const navigate = mock_module("navigate");
const overlays = mock_module("overlays", {
is_active: () => false,
settings_open: () => false,
streams_open: () => false,
lightbox_open: () => false,
drafts_open: () => false,
info_overlay_open: () => false,
});
const popovers = mock_module("popovers", {
actions_popped: () => false,
message_info_popped: () => false,
user_sidebar_popped: () => false,
user_info_popped: () => false,
});
const reactions = mock_module("reactions"); const reactions = mock_module("reactions");
const search = mock_module("search"); const search = mock_module("search");
const stream_list = mock_module("stream_list"); const stream_list = mock_module("stream_list");
mock_module("hashchange", hashchange); const subs = mock_module("subs");
const subs = {}; mock_module("stream_popover", {
stream_popped: () => false,
topic_popped: () => false,
all_messages_popped: () => false,
starred_messages_popped: () => false,
});
mock_module("hotspots", {
is_open: () => false,
});
mock_module("recent_topics", { mock_module("recent_topics", {
is_visible: () => false, is_visible: () => false,
}); });
mock_module("subs", subs);
set_global("current_msg_list", { set_global("current_msg_list", {
empty() { empty() {
return false; return false;

View File

@@ -9,14 +9,10 @@ const {run_test} = require("../zjsunit/test");
// The ListWidget library allows you to insert objects // The ListWidget library allows you to insert objects
// that are either jQuery, Element, or just raw HTML // that are either jQuery, Element, or just raw HTML
// strings. We initially test with raw strings. // strings. We initially test with raw strings.
const ui = mock_module("ui");
set_global("Element", () => {});
set_global("jQuery", "stub"); set_global("jQuery", "stub");
function Element() {
return {};
}
set_global("Element", Element);
const ui = {};
mock_module("ui", ui);
// We only need very simple jQuery wrappers for when the // We only need very simple jQuery wrappers for when the
// "real" code wraps html or sets up click handlers. // "real" code wraps html or sets up click handlers.

View File

@@ -12,15 +12,12 @@ const notifications = mock_module("notifications");
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const pm_list = mock_module("pm_list"); const pm_list = mock_module("pm_list");
const stream_list = mock_module("stream_list"); const stream_list = mock_module("stream_list");
const unread_ui = mock_module("unread_ui");
set_global("current_msg_list", {}); set_global("current_msg_list", {});
const unread_ui = {};
mock_module("unread_ui", unread_ui);
const message_events = zrequire("message_events");
const message_store = zrequire("message_store");
const people = zrequire("people"); const people = zrequire("people");
const message_events = zrequire("message_events");
const message_store = zrequire("message_store");
const stream_data = zrequire("stream_data"); const stream_data = zrequire("stream_data");
const stream_topic_history = zrequire("stream_topic_history"); const stream_topic_history = zrequire("stream_topic_history");
const unread = zrequire("unread"); const unread = zrequire("unread");

View File

@@ -33,6 +33,9 @@ const message_store = mock_module("message_store");
const message_util = mock_module("message_util"); const message_util = mock_module("message_util");
const pm_list = mock_module("pm_list"); const pm_list = mock_module("pm_list");
const server_events = mock_module("server_events"); const server_events = mock_module("server_events");
const stream_list = mock_module("stream_list", {
maybe_scroll_narrow_into_view: () => {},
});
mock_module("message_scroll", { mock_module("message_scroll", {
show_loading_older: noop, show_loading_older: noop,
hide_loading_older: noop, hide_loading_older: noop,
@@ -42,11 +45,6 @@ mock_module("message_scroll", {
}); });
set_global("document", "document-stub"); set_global("document", "document-stub");
const stream_list = {
maybe_scroll_narrow_into_view: () => {},
};
mock_module("stream_list", stream_list);
const message_fetch = zrequire("message_fetch"); const message_fetch = zrequire("message_fetch");
const {Filter} = zrequire("../js/filter"); const {Filter} = zrequire("../js/filter");

View File

@@ -5,16 +5,15 @@ const {strict: assert} = require("assert");
const {mock_module, set_global, zrequire} = require("../zjsunit/namespace"); const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const channel = mock_module("channel");
const ui = mock_module("ui");
mock_module("starred_messages", { mock_module("starred_messages", {
add: () => {}, add: () => {},
remove: () => {}, remove: () => {},
}); });
const ui = mock_module("ui");
const channel = {};
mock_module("channel", channel);
const message_flags = zrequire("message_flags"); const message_flags = zrequire("message_flags");
run_test("starred", () => { run_test("starred", () => {

View File

@@ -14,14 +14,11 @@ const compose = mock_module("compose");
const compose_actions = mock_module("compose_actions"); const compose_actions = mock_module("compose_actions");
const hashchange = mock_module("hashchange"); const hashchange = mock_module("hashchange");
const message_fetch = mock_module("message_fetch"); const message_fetch = mock_module("message_fetch");
set_global("current_msg_list", {}); const message_list = mock_module("message_list", {
set_global("home_msg_list", {});
const message_list = {
set_narrowed(value) { set_narrowed(value) {
message_list.narrowed = value; message_list.narrowed = value;
}, },
}; });
const message_scroll = mock_module("message_scroll"); const message_scroll = mock_module("message_scroll");
const message_view_header = mock_module("message_view_header"); const message_view_header = mock_module("message_view_header");
const notifications = mock_module("notifications"); const notifications = mock_module("notifications");
@@ -31,11 +28,12 @@ const top_left_corner = mock_module("top_left_corner");
const typing_events = mock_module("typing_events"); const typing_events = mock_module("typing_events");
const ui_util = mock_module("ui_util"); const ui_util = mock_module("ui_util");
const unread_ops = mock_module("unread_ops"); const unread_ops = mock_module("unread_ops");
mock_module("message_list", message_list);
mock_module("recent_topics", { mock_module("recent_topics", {
hide: () => {}, hide: () => {},
is_visible: () => {}, is_visible: () => {},
}); });
set_global("current_msg_list", {});
set_global("home_msg_list", {});
set_global("page_params", {}); set_global("page_params", {});
// //

View File

@@ -5,11 +5,9 @@ const {strict: assert} = require("assert");
const {mock_module, zrequire} = require("../zjsunit/namespace"); const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const message_list = {}; const message_list = mock_module("message_list");
mock_module("message_list", message_list);
const {Filter} = zrequire("../js/filter"); const {Filter} = zrequire("../js/filter");
const {MessageListData} = zrequire("../js/message_list_data"); const {MessageListData} = zrequire("../js/message_list_data");
const narrow_state = zrequire("narrow_state"); const narrow_state = zrequire("narrow_state");
const narrow = zrequire("narrow"); const narrow = zrequire("narrow");

View File

@@ -5,11 +5,10 @@ const {strict: assert} = require("assert");
const {mock_module, zrequire} = require("../zjsunit/namespace"); const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const reload_state = { const reload_state = mock_module("reload_state", {
is_in_progress: () => false, is_in_progress: () => false,
}; });
mock_module("reload_state", reload_state);
const people = zrequire("people"); const people = zrequire("people");
const me = { const me = {

View File

@@ -7,8 +7,13 @@ const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const narrow_state = mock_module("narrow_state"); const narrow_state = mock_module("narrow_state");
const pm_list_dom = mock_module("pm_list_dom");
const unread = mock_module("unread"); const unread = mock_module("unread");
const unread_ui = mock_module("unread_ui"); const unread_ui = mock_module("unread_ui");
const vdom = mock_module("vdom", {
render: () => "fake-dom-for-pm-list",
});
mock_module("stream_popover", { mock_module("stream_popover", {
hide_topic_popover() {}, hide_topic_popover() {},
}); });
@@ -16,15 +21,7 @@ mock_module("ui", {
get_content_element: (element) => element, get_content_element: (element) => element,
}); });
const vdom = {
render: () => "fake-dom-for-pm-list",
};
mock_module("vdom", vdom);
const pm_list_dom = {};
mock_module("pm_list_dom", pm_list_dom);
const people = zrequire("people"); const people = zrequire("people");
const pm_conversations = zrequire("pm_conversations"); const pm_conversations = zrequire("pm_conversations");
const pm_list = zrequire("pm_list"); const pm_list = zrequire("pm_list");

View File

@@ -9,21 +9,14 @@ const $ = require("../zjsunit/zjquery");
const noop = function () {}; const noop = function () {};
set_global("current_msg_list", {}); const rows = mock_module("rows");
set_global("page_params", { const stream_data = mock_module("stream_data");
is_admin: false,
realm_email_address_visibility: 3,
custom_profile_fields: [],
});
const rows = {};
mock_module("emoji_picker", { mock_module("emoji_picker", {
hide_emoji_popover: noop, hide_emoji_popover: noop,
}); });
mock_module("message_viewport", { mock_module("message_viewport", {
height: () => 500, height: () => 500,
}); });
mock_module("rows", rows);
mock_module("stream_popover", { mock_module("stream_popover", {
hide_stream_popover: noop, hide_stream_popover: noop,
hide_topic_popover: noop, hide_topic_popover: noop,
@@ -32,11 +25,14 @@ mock_module("stream_popover", {
hide_streamlist_sidebar: noop, hide_streamlist_sidebar: noop,
}); });
const stream_data = {}; set_global("current_msg_list", {});
set_global("page_params", {
is_admin: false,
realm_email_address_visibility: 3,
custom_profile_fields: [],
});
mock_module("stream_data", stream_data);
const people = zrequire("people"); const people = zrequire("people");
const user_status = zrequire("user_status"); const user_status = zrequire("user_status");
const message_edit = zrequire("message_edit"); const message_edit = zrequire("message_edit");

View File

@@ -5,14 +5,12 @@ const {strict: assert} = require("assert");
const {mock_module, zrequire} = require("../zjsunit/namespace"); const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const server_events = mock_module("server_events"); const reload_state = mock_module("reload_state", {
const reload_state = {
is_in_progress: () => false, is_in_progress: () => false,
}; });
const server_events = mock_module("server_events");
mock_module("reload_state", reload_state);
const people = zrequire("people"); const people = zrequire("people");
const presence = zrequire("presence"); const presence = zrequire("presence");
const OFFLINE_THRESHOLD_SECS = 140; const OFFLINE_THRESHOLD_SECS = 140;

View File

@@ -8,19 +8,8 @@ const {make_stub} = require("../zjsunit/stub");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
set_global("document", "document-stub");
const alice_user_id = 5; const alice_user_id = 5;
set_global("page_params", {
user_id: alice_user_id,
});
const channel = mock_module("channel");
const emoji_picker = {
hide_emoji_popover() {},
};
mock_module("emoji_picker", emoji_picker);
const message = { const message = {
id: 1001, id: 1001,
reactions: [ reactions: [
@@ -52,14 +41,17 @@ const message = {
], ],
}; };
const message_store = { const channel = mock_module("channel");
const emoji_picker = mock_module("emoji_picker", {
hide_emoji_popover() {},
});
const message_store = mock_module("message_store", {
get(message_id) { get(message_id) {
assert.equal(message_id, 1001); assert.equal(message_id, 1001);
return message; return message;
}, },
}; });
mock_module("message_store", message_store);
set_global("current_msg_list", { set_global("current_msg_list", {
selected_message() { selected_message() {
return {sent_by_me: true}; return {sent_by_me: true};
@@ -71,6 +63,10 @@ set_global("current_msg_list", {
return 42; return 42;
}, },
}); });
set_global("document", "document-stub");
set_global("page_params", {
user_id: alice_user_id,
});
const emoji_codes = zrequire("../generated/emoji/emoji_codes.json"); const emoji_codes = zrequire("../generated/emoji/emoji_codes.json");
const emoji = zrequire("../shared/js/emoji"); const emoji = zrequire("../shared/js/emoji");

View File

@@ -8,20 +8,18 @@ const {run_test} = require("../zjsunit/test");
let next_id = 0; let next_id = 0;
const messages = []; const messages = [];
mock_module("message_store", { const message_list = mock_module("message_list", {
get: (msg_id) => messages[msg_id - 1],
});
const message_list = {
all: { all: {
all_messages() { all_messages() {
return messages; return messages;
}, },
}, },
}; });
mock_module("message_store", {
get: (msg_id) => messages[msg_id - 1],
});
mock_module("message_list", message_list);
const rs = zrequire("recent_senders"); const rs = zrequire("recent_senders");
zrequire("message_util.js"); zrequire("message_util.js");
run_test("process_message_for_senders", (override) => { run_test("process_message_for_senders", (override) => {

View File

@@ -8,50 +8,42 @@ const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const noop = () => {}; const noop = () => {};
mock_module("top_left_corner", {
narrow_to_recent_topics: noop,
});
mock_module("stream_list", {
handle_narrow_deactivated: noop,
});
mock_module("compose_actions", {
cancel: noop,
});
mock_module("narrow", {
set_narrow_title: noop,
});
mock_module("message_view_header", {
render_title_area: noop,
});
mock_module("timerender", { // Custom Data
last_seen_status_from_date: () => "Just now", const messages = [];
get_full_datetime: () => ({ // sender1 == current user
date: "date", // sender2 == any other user
time: "time", const sender1 = 1;
}), const sender2 = 2;
});
mock_module("unread", { // New stream
unread_topic_counter: { const stream1 = 1;
get: (stream_id, topic) => { const stream2 = 2;
if (stream_id === 1 && topic === "topic-1") { const stream3 = 3;
// Only stream1, topic-1 is read. const stream4 = 4;
return 0; const stream5 = 5; // Deleted stream
}
return 1; // Topics in the stream, all unread except topic1 & stream1.
const topic1 = "topic-1"; // No Other sender & read.
const topic2 = "topic-2"; // Other sender
const topic3 = "topic-3"; // User not present
const topic4 = "topic-4"; // User not present
const topic5 = "topic-5"; // other sender
const topic6 = "topic-6"; // other sender
const topic7 = "topic-7"; // muted topic
const topic8 = "topic-8";
const topic9 = "topic-9";
const topic10 = "topic-10";
const message_list = mock_module("message_list", {
all: {
all_messages() {
return messages;
}, },
}, },
}); });
mock_module("hash_util", { const ListWidget = mock_module("list_widget", {
by_stream_uri: () => "https://www.example.com",
by_stream_topic_uri: () => "https://www.example.com",
});
mock_module("recent_senders", {
get_topic_recent_senders: () => [1, 2],
});
const ListWidget = {
modifier: noop, modifier: noop,
create: (container, mapped_topic_values, opts) => { create: (container, mapped_topic_values, opts) => {
@@ -76,49 +68,28 @@ const ListWidget = {
hard_redraw: noop, hard_redraw: noop,
render_item: (item) => ListWidget.modifier(item), render_item: (item) => ListWidget.modifier(item),
}; });
mock_module("compose_actions", {
cancel: noop,
});
mock_module("drafts", { mock_module("drafts", {
update_draft: noop, update_draft: noop,
}); });
mock_module("list_widget", ListWidget); mock_module("hash_util", {
by_stream_uri: () => "https://www.example.com",
const ls_container = new Map(); by_stream_topic_uri: () => "https://www.example.com",
set_global("localStorage", { });
getItem(key) { mock_module("narrow", {
return ls_container.get(key); set_narrow_title: noop,
}, });
setItem(key, val) { mock_module("message_store", {
ls_container.set(key, val); get: (msg_id) => messages[msg_id - 1],
}, });
removeItem(key) { mock_module("message_view_header", {
ls_container.delete(key); render_title_area: noop,
},
clear() {
ls_container.clear();
},
}); });
// Custom Data
// New stream
const stream1 = 1;
const stream2 = 2;
const stream3 = 3;
const stream4 = 4;
const stream5 = 5; // Deleted stream
// Topics in the stream, all unread except topic1 & stream1.
const topic1 = "topic-1"; // No Other sender & read.
const topic2 = "topic-2"; // Other sender
const topic3 = "topic-3"; // User not present
const topic4 = "topic-4"; // User not present
const topic5 = "topic-5"; // other sender
const topic6 = "topic-6"; // other sender
const topic7 = "topic-7"; // muted topic
const topic8 = "topic-8";
const topic9 = "topic-9";
const topic10 = "topic-10";
mock_module("muting", { mock_module("muting", {
is_topic_muted: (stream_id, topic) => { is_topic_muted: (stream_id, topic) => {
if (stream_id === stream1 && topic === topic7) { if (stream_id === stream1 && topic === topic7) {
@@ -127,24 +98,8 @@ mock_module("muting", {
return false; return false;
}, },
}); });
mock_module("recent_senders", {
// sender1 == current user get_topic_recent_senders: () => [1, 2],
// sender2 == any other user
const sender1 = 1;
const sender2 = 2;
const messages = [];
const message_list = {
all: {
all_messages() {
return messages;
},
},
};
mock_module("message_list", message_list);
mock_module("message_store", {
get: (msg_id) => messages[msg_id - 1],
}); });
mock_module("stream_data", { mock_module("stream_data", {
get_sub_by_id: (stream) => { get_sub_by_id: (stream) => {
@@ -165,6 +120,47 @@ mock_module("stream_data", {
false, false,
id_is_subscribed: () => true, id_is_subscribed: () => true,
}); });
mock_module("stream_list", {
handle_narrow_deactivated: noop,
});
mock_module("timerender", {
last_seen_status_from_date: () => "Just now",
get_full_datetime: () => ({
date: "date",
time: "time",
}),
});
mock_module("top_left_corner", {
narrow_to_recent_topics: noop,
});
mock_module("unread", {
unread_topic_counter: {
get: (stream_id, topic) => {
if (stream_id === 1 && topic === "topic-1") {
// Only stream1, topic-1 is read.
return 0;
}
return 1;
},
},
});
const ls_container = new Map();
set_global("localStorage", {
getItem(key) {
return ls_container.get(key);
},
setItem(key, val) {
ls_container.set(key, val);
},
removeItem(key) {
ls_container.delete(key);
},
clear() {
ls_container.clear();
},
});
const people = zrequire("people"); const people = zrequire("people");
const rt = zrequire("recent_topics"); const rt = zrequire("recent_topics");

View File

@@ -6,18 +6,14 @@ const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
set_global("page_params", {
search_pills_enabled: true,
});
const noop = () => {}; const noop = () => {};
const narrow_state = {
filter: () => false,
};
const narrow = mock_module("narrow"); const narrow = mock_module("narrow");
const narrow_state = mock_module("narrow_state", {
filter: () => false,
});
const search_suggestion = mock_module("search_suggestion"); const search_suggestion = mock_module("search_suggestion");
mock_module("narrow_state", narrow_state);
mock_module("search_pill_widget", { mock_module("search_pill_widget", {
widget: { widget: {
getByID: () => true, getByID: () => true,
@@ -27,6 +23,10 @@ mock_module("ui_util", {
change_tab_to: noop, change_tab_to: noop,
place_caret_at_end: noop, place_caret_at_end: noop,
}); });
set_global("page_params", {
search_pills_enabled: true,
});
set_global("setTimeout", (func) => func()); set_global("setTimeout", (func) => func());
const search = zrequire("search"); const search = zrequire("search");

View File

@@ -6,11 +6,9 @@ const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const muting_ui = {}; const muting_ui = mock_module("muting_ui");
mock_module("muting_ui", muting_ui);
const settings_muting = zrequire("settings_muting"); const settings_muting = zrequire("settings_muting");
const stream_data = zrequire("stream_data"); const stream_data = zrequire("stream_data");
const muting = zrequire("muting"); const muting = zrequire("muting");

View File

@@ -23,11 +23,6 @@ const _FormData = function () {
return form_data; return form_data;
}; };
const _loading = {
make_indicator: noop,
destroy_indicator: noop,
};
const page_params = set_global("page_params", { const page_params = set_global("page_params", {
is_admin: false, is_admin: false,
realm_domains: [ realm_domains: [
@@ -38,9 +33,7 @@ const page_params = set_global("page_params", {
}); });
const realm_icon = mock_module("realm_icon"); const realm_icon = mock_module("realm_icon");
const channel = {};
mock_module("channel", channel);
stub_templates((name, data) => { stub_templates((name, data) => {
if (name === "settings/admin_realm_domains_list") { if (name === "settings/admin_realm_domains_list") {
assert(data.realm_domain.domain); assert(data.realm_domain.domain);
@@ -49,10 +42,17 @@ stub_templates((name, data) => {
throw new Error(`Unknown template ${name}`); throw new Error(`Unknown template ${name}`);
}); });
const overlays = {}; const channel = mock_module("channel");
const overlays = mock_module("overlays");
mock_module("overlays", overlays); mock_module("list_widget", {
const _ui_report = { create: () => ({init: noop}),
});
mock_module("loading", {
make_indicator: noop,
destroy_indicator: noop,
});
mock_module("ui_report", {
success(msg, elem) { success(msg, elem) {
elem.val(msg); elem.val(msg);
}, },
@@ -60,18 +60,11 @@ const _ui_report = {
error(msg, xhr, elem) { error(msg, xhr, elem) {
elem.val(msg); elem.val(msg);
}, },
}; });
const _ListWidget = {
create: () => ({init: noop}),
};
set_global("csrf_token", "token-stub"); set_global("csrf_token", "token-stub");
set_global("FormData", _FormData); set_global("FormData", _FormData);
set_global("jQuery", _jQuery); set_global("jQuery", _jQuery);
mock_module("list_widget", _ListWidget);
mock_module("loading", _loading);
mock_module("ui_report", _ui_report);
const settings_config = zrequire("settings_config"); const settings_config = zrequire("settings_config");
const settings_bots = zrequire("settings_bots"); const settings_bots = zrequire("settings_bots");

View File

@@ -7,10 +7,9 @@ const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const loading = mock_module("loading");
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const loading = {};
mock_module("loading", loading);
const SHORT_TEXT_ID = 1; const SHORT_TEXT_ID = 1;
const CHOICE_ID = 3; const CHOICE_ID = 3;

View File

@@ -9,9 +9,6 @@ const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const confirm_dialog = {};
mock_module("confirm_dialog", confirm_dialog);
const noop = () => {}; const noop = () => {};
const pills = { const pills = {
@@ -21,27 +18,22 @@ const pills = {
let create_item_handler; let create_item_handler;
const channel = mock_module("channel"); const channel = mock_module("channel");
const confirm_dialog = mock_module("confirm_dialog");
const input_pill = mock_module("input_pill");
const typeahead_helper = mock_module("typeahead_helper"); const typeahead_helper = mock_module("typeahead_helper");
const user_groups = mock_module("user_groups", {
const user_groups = {
get_user_group_from_id: noop, get_user_group_from_id: noop,
remove: noop, remove: noop,
add: noop, add: noop,
}; });
mock_module("user_groups", user_groups); const ui_report = mock_module("ui_report");
const ui_report = {};
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
mock_module("ui_report", ui_report);
const input_pill = {};
mock_module("input_pill", input_pill);
const user_pill = zrequire("user_pill");
const settings_user_groups = zrequire("settings_user_groups");
const settings_config = zrequire("settings_config");
const people = zrequire("people"); const people = zrequire("people");
const settings_config = zrequire("settings_config");
const settings_user_groups = zrequire("settings_user_groups");
const user_pill = zrequire("user_pill");
function reset_test_setup(pill_container_stub) { function reset_test_setup(pill_container_stub) {
function input_pill_stub(opts) { function input_pill_stub(opts) {

View File

@@ -12,6 +12,10 @@ stub_templates(() => noop);
const page_params = set_global("page_params", {}); const page_params = set_global("page_params", {});
const typeahead_helper = mock_module("typeahead_helper"); const typeahead_helper = mock_module("typeahead_helper");
const ui = mock_module("ui", {
get_scroll_element: noop,
});
mock_module("hash_util", { mock_module("hash_util", {
stream_edit_uri: noop, stream_edit_uri: noop,
by_stream_uri: noop, by_stream_uri: noop,
@@ -27,16 +31,10 @@ mock_module("stream_color", {
set_colorpicker_color: noop, set_colorpicker_color: noop,
}); });
const ui = {
get_scroll_element: noop,
};
mock_module("ui", ui);
const peer_data = zrequire("peer_data"); const peer_data = zrequire("peer_data");
const people = zrequire("people"); const people = zrequire("people");
const stream_edit = zrequire("stream_edit");
const stream_data = zrequire("stream_data"); const stream_data = zrequire("stream_data");
const stream_edit = zrequire("stream_edit");
const stream_pill = zrequire("stream_pill"); const stream_pill = zrequire("stream_pill");
const user_pill = zrequire("user_pill"); const user_pill = zrequire("user_pill");

View File

@@ -8,14 +8,15 @@ const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const noop = () => {}; const noop = () => {};
const _settings_notifications = {
update_page: () => {},
};
const color_data = mock_module("color_data"); const color_data = mock_module("color_data");
const message_util = mock_module("message_util"); const message_util = mock_module("message_util");
const stream_color = mock_module("stream_color"); const stream_color = mock_module("stream_color");
const stream_list = mock_module("stream_list"); const stream_list = mock_module("stream_list");
const stream_muting = mock_module("stream_muting"); const stream_muting = mock_module("stream_muting");
const subs = mock_module("subs", {
update_settings_for_subscribed: noop,
});
mock_module("message_list", { mock_module("message_list", {
all: { all: {
all_messages() { all_messages() {
@@ -26,22 +27,20 @@ mock_module("message_list", {
mock_module("recent_topics", { mock_module("recent_topics", {
complete_rerender: () => {}, complete_rerender: () => {},
}); });
mock_module("settings_notifications", _settings_notifications); mock_module("settings_notifications", {
update_page: () => {},
});
set_global("current_msg_list", {}); set_global("current_msg_list", {});
const subs = {
update_settings_for_subscribed: noop,
};
mock_module("overlays", {streams_open: () => true}); mock_module("overlays", {streams_open: () => true});
mock_module("subs", subs);
const {Filter} = zrequire("../js/filter");
const message_view_header = zrequire("message_view_header");
const narrow_state = zrequire("narrow_state");
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");
const stream_events = zrequire("stream_events"); const stream_events = zrequire("stream_events");
const {Filter} = zrequire("../js/filter");
const narrow_state = zrequire("narrow_state");
const message_view_header = zrequire("message_view_header");
const george = { const george = {
email: "george@zulip.com", email: "george@zulip.com",

View File

@@ -18,9 +18,8 @@ mock_module("resize", {
}); });
const popovers = mock_module("popovers"); const popovers = mock_module("popovers");
const stream_popover = {}; const stream_popover = mock_module("stream_popover");
mock_module("stream_popover", stream_popover);
const stream_list = zrequire("stream_list"); const stream_list = zrequire("stream_list");
function expand_sidebar() { function expand_sidebar() {

View File

@@ -6,11 +6,9 @@ const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const channel = mock_module("channel"); const channel = mock_module("channel");
const message_store = mock_module("message_store");
const widgetize = mock_module("widgetize"); const widgetize = mock_module("widgetize");
const message_store = {};
mock_module("message_store", message_store);
const submessage = zrequire("submessage"); const submessage = zrequire("submessage");
run_test("get_message_events", () => { run_test("get_message_events", () => {

View File

@@ -7,22 +7,20 @@ const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery"); const $ = require("../zjsunit/zjquery");
const ui = { const denmark_stream_id = 101;
const ui = mock_module("ui", {
get_content_element: (element) => element, get_content_element: (element) => element,
get_scroll_element: (element) => element, get_scroll_element: (element) => element,
}; });
mock_module("ui", ui);
set_global("page_params", {});
const denmark_stream_id = 101;
set_global("location", { set_global("location", {
hash: `#streams/${denmark_stream_id}/announce`, hash: `#streams/${denmark_stream_id}/announce`,
}); });
mock_module("hash_util", { mock_module("hash_util", {
by_stream_uri: () => {}, by_stream_uri: () => {},
}); });
set_global("page_params", {});
const stream_data = zrequire("stream_data"); const stream_data = zrequire("stream_data");
const subs = zrequire("subs"); const subs = zrequire("subs");

View File

@@ -7,21 +7,19 @@ const _ = require("lodash");
const {mock_module, zrequire} = require("../zjsunit/namespace"); const {mock_module, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const narrow_state = { const muting = mock_module("muting", {
topic() {},
};
mock_module("narrow_state", narrow_state);
const muting = {
is_topic_muted() { is_topic_muted() {
return false; return false;
}, },
}; });
mock_module("muting", muting); const narrow_state = mock_module("narrow_state", {
const stream_data = zrequire("stream_data"); topic() {},
});
const unread = zrequire("unread"); const stream_data = zrequire("stream_data");
const stream_topic_history = zrequire("stream_topic_history"); const stream_topic_history = zrequire("stream_topic_history");
const topic_list_data = zrequire("topic_list_data"); const topic_list_data = zrequire("topic_list_data");
const unread = zrequire("unread");
const general = { const general = {
stream_id: 556, stream_id: 556,

View File

@@ -11,15 +11,12 @@ const page_params = set_global("page_params", {});
const channel = mock_module("channel"); const channel = mock_module("channel");
const reload = mock_module("reload"); const reload = mock_module("reload");
const reload_state = mock_module("reload_state"); const reload_state = mock_module("reload_state");
const sent_messages = mock_module("sent_messages", {
const sent_messages = {
start_tracking_message: noop, start_tracking_message: noop,
report_server_ack: noop, report_server_ack: noop,
}; });
mock_module("sent_messages", sent_messages);
const people = zrequire("people"); const people = zrequire("people");
const transmit = zrequire("transmit"); const transmit = zrequire("transmit");
run_test("transmit_message_ajax", () => { run_test("transmit_message_ajax", () => {

View File

@@ -17,31 +17,26 @@ const {run_test} = require("../zjsunit/test");
// structure that the server sends down to us when the app starts. We // structure that the server sends down to us when the app starts. We
// prefer to test with a clean slate. // prefer to test with a clean slate.
set_global("page_params", {});
const activity = mock_module("activity"); const activity = mock_module("activity");
const channel = mock_module("channel");
const home_msg_list = set_global("home_msg_list", {}); const home_msg_list = set_global("home_msg_list", {});
const message_list = mock_module("message_list"); const message_list = mock_module("message_list");
const message_live_update = mock_module("message_live_update"); const message_live_update = mock_module("message_live_update");
const message_util = mock_module("message_util"); const message_util = mock_module("message_util");
const message_viewport = mock_module("message_viewport");
const notifications = mock_module("notifications"); const notifications = mock_module("notifications");
const overlays = mock_module("overlays"); const overlays = mock_module("overlays");
const pm_list = mock_module("pm_list"); const pm_list = mock_module("pm_list");
const resize = mock_module("resize"); const resize = mock_module("resize");
const settings_users = mock_module("settings_users"); const settings_users = mock_module("settings_users");
const topic_list = mock_module("topic_list");
let stream_list = {};
mock_module("stream_list", stream_list);
let unread_ops = {};
const channel = mock_module("channel");
const message_viewport = mock_module("message_viewport");
const unread_ui = mock_module("unread_ui"); const unread_ui = mock_module("unread_ui");
mock_module("unread_ops", unread_ops);
const topic_list = {}; let stream_list = mock_module("stream_list");
let unread_ops = mock_module("unread_ops");
set_global("page_params", {});
mock_module("topic_list", topic_list);
// Let's start with testing a function from util.js. // Let's start with testing a function from util.js.
// //

View File

@@ -11,17 +11,16 @@ let page_params = set_global("page_params", {
realm_push_notifications_enabled: false, realm_push_notifications_enabled: false,
}); });
set_global("current_msg_list", {}); const message_store = mock_module("message_store");
set_global("home_msg_list", {});
const message_store = {};
mock_module("message_store", message_store);
const muting = zrequire("muting"); const muting = zrequire("muting");
set_global("current_msg_list", {});
set_global("home_msg_list", {});
const {FoldDict} = zrequire("fold_dict");
const people = zrequire("people"); const people = zrequire("people");
const stream_data = zrequire("stream_data"); const stream_data = zrequire("stream_data");
const unread = zrequire("unread"); const unread = zrequire("unread");
const {FoldDict} = zrequire("fold_dict");
const me = { const me = {
email: "me@example.com", email: "me@example.com",

View File

@@ -5,10 +5,27 @@ const {strict: assert} = require("assert");
const {mock_module, set_global, zrequire} = require("../zjsunit/namespace"); const {mock_module, set_global, zrequire} = require("../zjsunit/namespace");
const {run_test} = require("../zjsunit/test"); const {run_test} = require("../zjsunit/test");
const message_live_update = mock_module("message_live_update");
const settings_account = mock_module("settings_account", {
update_email() {},
update_full_name() {},
});
mock_module("activity", { mock_module("activity", {
redraw() {}, redraw() {},
}); });
mock_module("compose", {
update_email() {},
});
mock_module("gear_menu", {
update_org_settings_menu_item() {},
});
mock_module("narrow_state", {
update_email() {},
});
mock_module("pm_list", {
update_private_messages() {},
});
mock_module("settings_linkifiers", { mock_module("settings_linkifiers", {
maybe_disable_widgets() {}, maybe_disable_widgets() {},
}); });
@@ -25,36 +42,11 @@ mock_module("settings_users", {
update_user_data() {}, update_user_data() {},
}); });
mock_module("gear_menu", {
update_org_settings_menu_item() {},
});
const page_params = set_global("page_params", { const page_params = set_global("page_params", {
is_admin: true, is_admin: true,
}); });
mock_module("pm_list", {
update_private_messages() {},
});
mock_module("narrow_state", {
update_email() {},
});
mock_module("compose", {
update_email() {},
});
const settings_account = {
update_email() {},
update_full_name() {},
};
mock_module("settings_account", settings_account);
const message_live_update = {};
mock_module("message_live_update", message_live_update);
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");