tests: Unmock _.debounce, _.throttle.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg 2026-03-02 16:51:52 -08:00 committed by Tim Abbott
parent 62dba02c6f
commit 07fa2b6f09
3 changed files with 10 additions and 33 deletions

View File

@ -42,11 +42,6 @@ require("@babel/register")({
root: path.resolve(__dirname, "../.."),
});
// Create a helper function to avoid sneaky delays in tests.
function immediate(f) {
return () => f();
}
// Find the files we need to run.
const files = process.argv.slice(2);
assert.notEqual(files.length, 0, "No tests found");
@ -109,8 +104,6 @@ process.exitCode = 1;
window.location.href = "http://zulip.zulipdev.com/#";
namespace.set_global("localStorage", localStorage);
ls_container.clear();
_.throttle = immediate;
_.debounce = immediate;
zpage_billing_params.reset();
zpage_params.reset();

View File

@ -2,7 +2,7 @@
const assert = require("node:assert/strict");
const {mock_esm, set_global, with_overrides, zrequire} = require("./lib/namespace.cjs");
const {clock, mock_esm, set_global, with_overrides, zrequire} = require("./lib/namespace.cjs");
const {run_test} = require("./lib/test.cjs");
const channel = mock_esm("../src/channel");
@ -193,6 +193,7 @@ run_test("read", ({override}) => {
messages: [1, 2, 3, 4, 5],
};
channel_post_opts.success(success_response_data);
clock.runAll();
assert.deepEqual(channel_post_opts, {
url: "/json/messages/flags",
data: {
@ -231,31 +232,17 @@ run_test("read", ({override}) => {
});
// Messages still not acked yet
const events = {};
const stub_delay = 100;
function set_timeout(f, delay) {
assert.equal(delay, stub_delay);
events.f = f;
events.timer_set = true;
return;
}
set_global("setTimeout", set_timeout);
// Mock successful flagging of ids
success_response_data = {
messages: [3, 4, 5, 6, 7],
};
channel_post_opts.success(success_response_data);
assert.ok(events.timer_set);
clock.tick(1100);
// Mark them non-local
local_msg_1.locally_echoed = false;
local_msg_2.locally_echoed = false;
// Mock successful flagging of ids
success_response_data = {
messages: [3, 4, 5, 6, 7],
};
channel_post_opts.success(success_response_data);
clock.runAll();
// Former locally echoed messages flagging retried
assert.deepEqual(channel_post_opts, {
@ -278,6 +265,8 @@ run_test("read", ({override}) => {
flag: "read",
},
});
clock.reset();
});
run_test("read_empty_data", ({override}) => {

View File

@ -6,7 +6,7 @@ const {make_realm} = require("./lib/example_realm.cjs");
const {make_user} = require("./lib/example_user.cjs");
const {make_message_list} = require("./lib/message_list.cjs");
const {mock_channel_get} = require("./lib/mock_channel.cjs");
const {set_global, mock_esm, zrequire} = require("./lib/namespace.cjs");
const {clock, mock_esm, zrequire} = require("./lib/namespace.cjs");
const {run_test, noop} = require("./lib/test.cjs");
const $ = require("./lib/zjquery.cjs");
@ -30,12 +30,6 @@ mock_esm("../src/buddy_list", {
buddy_list: fake_buddy_list,
});
function mock_setTimeout() {
set_global("setTimeout", (func) => {
func();
});
}
const popovers = mock_esm("../src/popovers");
const presence = mock_esm("../src/presence");
const sidebar_ui = mock_esm("../src/sidebar_ui");
@ -93,6 +87,7 @@ function test(label, f) {
function set_input_val(val) {
$("input.user-list-filter").val(val);
$("input.user-list-filter").trigger("input");
clock.runAll();
}
function stub_buddy_list_empty_list_message_lengths() {
@ -199,7 +194,6 @@ test("fetch on search", async ({override}) => {
test("blur search right", ({override}) => {
override(sidebar_ui, "show_userlist_sidebar", noop);
override(popovers, "hide_all", noop);
mock_setTimeout();
$("input.user-list-filter").closest = (selector) => {
assert.equal(selector, ".app-main [class^='column-']");
@ -209,13 +203,13 @@ test("blur search right", ({override}) => {
$("input.user-list-filter").trigger("blur");
assert.equal($("input.user-list-filter").is_focused(), false);
activity_ui.initiate_search();
clock.runAll();
assert.equal($("input.user-list-filter").is_focused(), true);
});
test("blur search left", ({override}) => {
override(sidebar_ui, "show_streamlist_sidebar", noop);
override(popovers, "hide_all", noop);
mock_setTimeout();
$("input.user-list-filter").closest = (selector) => {
assert.equal(selector, ".app-main [class^='column-']");
@ -225,6 +219,7 @@ test("blur search left", ({override}) => {
$("input.user-list-filter").trigger("blur");
assert.equal($("input.user-list-filter").is_focused(), false);
activity_ui.initiate_search();
clock.runAll();
assert.equal($("input.user-list-filter").is_focused(), true);
});