mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 10:26:28 +00:00
pill_typeahead: Clean up unnecessary rewires in test.
This commit effectively shifts the mocking to a lower level by mocking `typeahead_list_item.hbs` instead of higher-level functions like `render_person`, `render_user_group` and `render_stream`. This helps eliminate the rewiring of those functions. These functions are rigorously tested in `typeahead_helper.test.cjs`. Fixes part of #32326.
This commit is contained in:
@@ -23,7 +23,11 @@ const typeahead_helper = zrequire("typeahead_helper");
|
|||||||
|
|
||||||
const current_user = {};
|
const current_user = {};
|
||||||
set_current_user(current_user);
|
set_current_user(current_user);
|
||||||
const realm = {};
|
const realm = {
|
||||||
|
custom_profile_field_types: {
|
||||||
|
PRONOUNS: {id: 8},
|
||||||
|
},
|
||||||
|
};
|
||||||
set_realm(realm);
|
set_realm(realm);
|
||||||
|
|
||||||
// set global test variables.
|
// set global test variables.
|
||||||
@@ -35,10 +39,16 @@ const $fake_rendered_person = $.create("fake-rendered-person");
|
|||||||
const $fake_rendered_stream = $.create("fake-rendered-stream");
|
const $fake_rendered_stream = $.create("fake-rendered-stream");
|
||||||
const $fake_rendered_group = $.create("fake-rendered-group");
|
const $fake_rendered_group = $.create("fake-rendered-group");
|
||||||
|
|
||||||
function override_typeahead_helper(override_rewire) {
|
function override_typeahead_helper({mock_template, override_rewire}) {
|
||||||
override_rewire(typeahead_helper, "render_person", () => $fake_rendered_person);
|
mock_template("typeahead_list_item.hbs", false, (args) => {
|
||||||
override_rewire(typeahead_helper, "render_user_group", () => $fake_rendered_group);
|
if (args.stream) {
|
||||||
override_rewire(typeahead_helper, "render_stream", () => $fake_rendered_stream);
|
return $fake_rendered_stream;
|
||||||
|
} else if (args.is_user_group) {
|
||||||
|
return $fake_rendered_group;
|
||||||
|
}
|
||||||
|
assert.ok(args.is_person);
|
||||||
|
return $fake_rendered_person;
|
||||||
|
});
|
||||||
override_rewire(typeahead_helper, "sort_streams", () => {
|
override_rewire(typeahead_helper, "sort_streams", () => {
|
||||||
sort_streams_called = true;
|
sort_streams_called = true;
|
||||||
});
|
});
|
||||||
@@ -141,7 +151,10 @@ for (const sub of subs) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
run_test("set_up_user", ({mock_template, override, override_rewire}) => {
|
run_test("set_up_user", ({mock_template, override, override_rewire}) => {
|
||||||
override_rewire(typeahead_helper, "render_person", () => $fake_rendered_person);
|
mock_template("typeahead_list_item.hbs", false, (args) => {
|
||||||
|
assert.ok(args.is_person);
|
||||||
|
return $fake_rendered_person;
|
||||||
|
});
|
||||||
override_rewire(typeahead_helper, "sort_recipients", ({users}) => {
|
override_rewire(typeahead_helper, "sort_recipients", ({users}) => {
|
||||||
sort_recipients_called = true;
|
sort_recipients_called = true;
|
||||||
return users;
|
return users;
|
||||||
@@ -230,7 +243,10 @@ run_test("set_up_user", ({mock_template, override, override_rewire}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
run_test("set_up_stream", ({mock_template, override, override_rewire}) => {
|
run_test("set_up_stream", ({mock_template, override, override_rewire}) => {
|
||||||
override_rewire(typeahead_helper, "render_stream", () => $fake_rendered_stream);
|
mock_template("typeahead_list_item.hbs", false, (args) => {
|
||||||
|
assert.ok(args.stream !== undefined);
|
||||||
|
return $fake_rendered_stream;
|
||||||
|
});
|
||||||
override_rewire(typeahead_helper, "sort_streams_by_name", ({streams}) => {
|
override_rewire(typeahead_helper, "sort_streams_by_name", ({streams}) => {
|
||||||
sort_streams_called = true;
|
sort_streams_called = true;
|
||||||
return streams;
|
return streams;
|
||||||
@@ -407,7 +423,7 @@ run_test("set_up_user_group", ({mock_template, override, override_rewire}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
run_test("set_up_combined", ({mock_template, override, override_rewire}) => {
|
run_test("set_up_combined", ({mock_template, override, override_rewire}) => {
|
||||||
override_typeahead_helper(override_rewire);
|
override_typeahead_helper({mock_template, override_rewire});
|
||||||
mock_template("input_pill.hbs", true, (_data, html) => html);
|
mock_template("input_pill.hbs", true, (_data, html) => html);
|
||||||
let input_pill_typeahead_called = false;
|
let input_pill_typeahead_called = false;
|
||||||
const $fake_input = $.create(".input");
|
const $fake_input = $.create(".input");
|
||||||
@@ -663,8 +679,13 @@ run_test("set_up_combined", ({mock_template, override, override_rewire}) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
run_test("set_up_group_setting_typeahead", ({mock_template, override, override_rewire}) => {
|
run_test("set_up_group_setting_typeahead", ({mock_template, override, override_rewire}) => {
|
||||||
override_rewire(typeahead_helper, "render_person", () => $fake_rendered_person);
|
mock_template("typeahead_list_item.hbs", false, (args) => {
|
||||||
override_rewire(typeahead_helper, "render_user_group", () => $fake_rendered_group);
|
if (args.is_user_group) {
|
||||||
|
return $fake_rendered_group;
|
||||||
|
}
|
||||||
|
assert.ok(args.is_person);
|
||||||
|
return $fake_rendered_person;
|
||||||
|
});
|
||||||
override_rewire(typeahead_helper, "sort_group_setting_options", () => {
|
override_rewire(typeahead_helper, "sort_group_setting_options", () => {
|
||||||
sort_group_setting_options_called = true;
|
sort_group_setting_options_called = true;
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user