mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
node tests: Add test() wrapper for suggestions.
This commit is contained in:
committed by
Steve Howell
parent
9c1e21689b
commit
154daf353b
@@ -68,18 +68,25 @@ function init() {
|
||||
people.add_active_user(jeff);
|
||||
|
||||
people.initialize_current_user(me.user_id);
|
||||
|
||||
stream_topic_history.reset();
|
||||
huddle_data.clear_for_testing();
|
||||
}
|
||||
init();
|
||||
|
||||
page_params.is_admin = true;
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
function get_suggestions(base_query, query) {
|
||||
return search.get_suggestions(base_query, query);
|
||||
}
|
||||
|
||||
run_test("basic_get_suggestions", (override) => {
|
||||
function test(label, f) {
|
||||
run_test(label, (override) => {
|
||||
init();
|
||||
f(override);
|
||||
});
|
||||
}
|
||||
|
||||
test("basic_get_suggestions", (override) => {
|
||||
const query = "fred";
|
||||
|
||||
override(stream_data, "subscribed_streams", () => []);
|
||||
@@ -92,7 +99,7 @@ run_test("basic_get_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("subset_suggestions", () => {
|
||||
test("subset_suggestions", () => {
|
||||
const query = "shakespeare";
|
||||
const base_query = "stream:Denmark topic:Hamlet";
|
||||
|
||||
@@ -103,7 +110,7 @@ run_test("subset_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("private_suggestions", () => {
|
||||
test("private_suggestions", () => {
|
||||
let query = "is:private";
|
||||
let suggestions = get_suggestions("", query);
|
||||
let expected = [
|
||||
@@ -216,7 +223,7 @@ run_test("private_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("group_suggestions", () => {
|
||||
test("group_suggestions", () => {
|
||||
// Entering a comma in a pm-with query should immediately generate
|
||||
// suggestions for the next person.
|
||||
let query = "pm-with:bob@zulip.com,";
|
||||
@@ -349,9 +356,7 @@ run_test("group_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
init();
|
||||
|
||||
run_test("empty_query_suggestions", (override) => {
|
||||
test("empty_query_suggestions", (override) => {
|
||||
const query = "";
|
||||
|
||||
override(stream_data, "subscribed_streams", () => ["devel", "office"]);
|
||||
@@ -390,7 +395,7 @@ run_test("empty_query_suggestions", (override) => {
|
||||
assert.equal(describe("has:attachment"), "Messages with one or more attachment");
|
||||
});
|
||||
|
||||
run_test("has_suggestions", (override) => {
|
||||
test("has_suggestions", (override) => {
|
||||
// Checks that category wise suggestions are displayed instead of a single
|
||||
// default suggestion when suggesting `has` operator.
|
||||
let query = "h";
|
||||
@@ -446,7 +451,7 @@ run_test("has_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("check_is_suggestions", (override) => {
|
||||
test("check_is_suggestions", (override) => {
|
||||
let query = "i";
|
||||
override(stream_data, "subscribed_streams", () => ["devel", "office"]);
|
||||
override(narrow_state, "stream", () => {});
|
||||
@@ -550,7 +555,7 @@ run_test("check_is_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("sent_by_me_suggestions", (override) => {
|
||||
test("sent_by_me_suggestions", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => []);
|
||||
|
||||
override(narrow_state, "stream", () => {});
|
||||
@@ -626,7 +631,7 @@ run_test("sent_by_me_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("topic_suggestions", (override) => {
|
||||
test("topic_suggestions", (override) => {
|
||||
let suggestions;
|
||||
let expected;
|
||||
|
||||
@@ -648,7 +653,6 @@ run_test("topic_suggestions", (override) => {
|
||||
}
|
||||
});
|
||||
|
||||
stream_topic_history.reset();
|
||||
suggestions = get_suggestions("", "te");
|
||||
expected = [
|
||||
"te",
|
||||
@@ -716,13 +720,11 @@ run_test("topic_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("whitespace_glitch", (override) => {
|
||||
test("whitespace_glitch", (override) => {
|
||||
const query = "stream:office "; // note trailing space
|
||||
|
||||
override(stream_data, "subscribed_streams", () => ["office"]);
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
const suggestions = get_suggestions("", query);
|
||||
|
||||
const expected = ["stream:office"];
|
||||
@@ -730,13 +732,11 @@ run_test("whitespace_glitch", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("stream_completion", (override) => {
|
||||
test("stream_completion", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => ["office", "dev help"]);
|
||||
|
||||
override(narrow_state, "stream", () => {});
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
let query = "stream:of";
|
||||
let suggestions = get_suggestions("", query);
|
||||
let expected = ["stream:of", "stream:office"];
|
||||
@@ -774,11 +774,9 @@ function people_suggestion_setup() {
|
||||
full_name: "Alice Ignore",
|
||||
};
|
||||
people.add_active_user(alice);
|
||||
|
||||
stream_topic_history.reset();
|
||||
}
|
||||
|
||||
run_test("people_suggestions", (override) => {
|
||||
test("people_suggestions", (override) => {
|
||||
override(narrow_state, "stream", noop);
|
||||
people_suggestion_setup();
|
||||
|
||||
@@ -842,7 +840,7 @@ run_test("people_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("people_suggestion (Admin only email visibility)", (override) => {
|
||||
test("people_suggestion (Admin only email visibility)", (override) => {
|
||||
/* Suggestions when realm_email_address_visibility is set to admin
|
||||
only */
|
||||
override(narrow_state, "stream", noop);
|
||||
@@ -874,7 +872,7 @@ run_test("people_suggestion (Admin only email visibility)", (override) => {
|
||||
assert.equal(describe("sender:ted@zulip.com"), "Sent by <strong>Te</strong>d Smith");
|
||||
});
|
||||
|
||||
run_test("operator_suggestions", () => {
|
||||
test("operator_suggestions", () => {
|
||||
// Completed operator should return nothing
|
||||
let query = "stream:";
|
||||
let suggestions = get_suggestions("", query);
|
||||
@@ -903,11 +901,9 @@ run_test("operator_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("queries_with_spaces", (override) => {
|
||||
test("queries_with_spaces", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => ["office", "dev help"]);
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
// test allowing spaces with quotes surrounding operand
|
||||
let query = 'stream:"dev he"';
|
||||
let suggestions = get_suggestions("", query);
|
||||
@@ -929,7 +925,7 @@ run_test("queries_with_spaces", (override) => {
|
||||
|
||||
// When input search query contains multiple operators
|
||||
// and a pill hasn't been formed from those operators.
|
||||
run_test("multiple_operators_without_pills", () => {
|
||||
test("multiple_operators_without_pills", () => {
|
||||
let query = "is:private al";
|
||||
let base_query = "";
|
||||
let suggestions = get_suggestions(base_query, query);
|
||||
|
@@ -65,18 +65,25 @@ function init() {
|
||||
people.add_active_user(jeff);
|
||||
|
||||
people.initialize_current_user(me.user_id);
|
||||
|
||||
stream_topic_history.reset();
|
||||
huddle_data.clear_for_testing();
|
||||
}
|
||||
init();
|
||||
|
||||
page_params.is_admin = true;
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
function get_suggestions(base_query, query) {
|
||||
return search.get_suggestions(base_query, query);
|
||||
}
|
||||
|
||||
run_test("basic_get_suggestions", (override) => {
|
||||
function test(label, f) {
|
||||
run_test(label, (override) => {
|
||||
init();
|
||||
f(override);
|
||||
});
|
||||
}
|
||||
|
||||
test("basic_get_suggestions", (override) => {
|
||||
const query = "fred";
|
||||
|
||||
override(stream_data, "subscribed_streams", () => []);
|
||||
@@ -89,7 +96,7 @@ run_test("basic_get_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("subset_suggestions", () => {
|
||||
test("subset_suggestions", () => {
|
||||
const query = "stream:Denmark topic:Hamlet shakespeare";
|
||||
|
||||
const suggestions = get_suggestions("", query);
|
||||
@@ -103,7 +110,7 @@ run_test("subset_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("private_suggestions", () => {
|
||||
test("private_suggestions", () => {
|
||||
let query = "is:private";
|
||||
let suggestions = get_suggestions("", query);
|
||||
let expected = [
|
||||
@@ -212,7 +219,7 @@ run_test("private_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("group_suggestions", () => {
|
||||
test("group_suggestions", () => {
|
||||
// Entering a comma in a pm-with query should immediately generate
|
||||
// suggestions for the next person.
|
||||
let query = "pm-with:bob@zulip.com,";
|
||||
@@ -352,9 +359,7 @@ run_test("group_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
init();
|
||||
|
||||
run_test("empty_query_suggestions", (override) => {
|
||||
test("empty_query_suggestions", (override) => {
|
||||
const query = "";
|
||||
|
||||
override(stream_data, "subscribed_streams", () => ["devel", "office"]);
|
||||
@@ -393,7 +398,7 @@ run_test("empty_query_suggestions", (override) => {
|
||||
assert.equal(describe("has:attachment"), "Messages with one or more attachment");
|
||||
});
|
||||
|
||||
run_test("has_suggestions", (override) => {
|
||||
test("has_suggestions", (override) => {
|
||||
// Checks that category wise suggestions are displayed instead of a single
|
||||
// default suggestion when suggesting `has` operator.
|
||||
let query = "h";
|
||||
@@ -452,7 +457,7 @@ run_test("has_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("check_is_suggestions", (override) => {
|
||||
test("check_is_suggestions", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => ["devel", "office"]);
|
||||
override(narrow_state, "stream", () => {});
|
||||
|
||||
@@ -521,7 +526,7 @@ run_test("check_is_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("sent_by_me_suggestions", (override) => {
|
||||
test("sent_by_me_suggestions", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => []);
|
||||
|
||||
override(narrow_state, "stream", () => {});
|
||||
@@ -592,7 +597,7 @@ run_test("sent_by_me_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("topic_suggestions", (override) => {
|
||||
test("topic_suggestions", (override) => {
|
||||
let suggestions;
|
||||
let expected;
|
||||
|
||||
@@ -614,7 +619,6 @@ run_test("topic_suggestions", (override) => {
|
||||
}
|
||||
});
|
||||
|
||||
stream_topic_history.reset();
|
||||
suggestions = get_suggestions("", "te");
|
||||
expected = [
|
||||
"te",
|
||||
@@ -688,13 +692,11 @@ run_test("topic_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("whitespace_glitch", (override) => {
|
||||
test("whitespace_glitch", (override) => {
|
||||
const query = "stream:office "; // note trailing space
|
||||
|
||||
override(stream_data, "subscribed_streams", () => ["office"]);
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
const suggestions = get_suggestions("", query);
|
||||
|
||||
const expected = ["stream:office"];
|
||||
@@ -702,13 +704,11 @@ run_test("whitespace_glitch", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("stream_completion", (override) => {
|
||||
test("stream_completion", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => ["office", "dev help"]);
|
||||
|
||||
override(narrow_state, "stream", () => {});
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
let query = "stream:of";
|
||||
let suggestions = get_suggestions("", query);
|
||||
let expected = ["stream:of", "stream:office"];
|
||||
@@ -725,7 +725,7 @@ run_test("stream_completion", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("people_suggestions", (override) => {
|
||||
test("people_suggestions", (override) => {
|
||||
let query = "te";
|
||||
|
||||
override(stream_data, "subscribed_streams", () => []);
|
||||
@@ -753,8 +753,6 @@ run_test("people_suggestions", (override) => {
|
||||
people.add_active_user(bob);
|
||||
people.add_active_user(alice);
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
let suggestions = get_suggestions("", query);
|
||||
|
||||
let expected = [
|
||||
@@ -807,7 +805,7 @@ run_test("people_suggestions", (override) => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("operator_suggestions", () => {
|
||||
test("operator_suggestions", () => {
|
||||
// Completed operator should return nothing
|
||||
let query = "stream:";
|
||||
let suggestions = get_suggestions("", query);
|
||||
@@ -841,11 +839,9 @@ run_test("operator_suggestions", () => {
|
||||
assert.deepEqual(suggestions.strings, expected);
|
||||
});
|
||||
|
||||
run_test("queries_with_spaces", (override) => {
|
||||
test("queries_with_spaces", (override) => {
|
||||
override(stream_data, "subscribed_streams", () => ["office", "dev help"]);
|
||||
|
||||
stream_topic_history.reset();
|
||||
|
||||
// test allowing spaces with quotes surrounding operand
|
||||
let query = 'stream:"dev he"';
|
||||
let suggestions = get_suggestions("", query);
|
||||
|
@@ -4,6 +4,10 @@ import * as people from "./people";
|
||||
|
||||
const huddle_timestamps = new Map();
|
||||
|
||||
export function clear_for_testing() {
|
||||
huddle_timestamps.clear();
|
||||
}
|
||||
|
||||
export function process_loaded_messages(messages) {
|
||||
for (const message of messages) {
|
||||
const huddle_string = people.huddle_string(message);
|
||||
|
Reference in New Issue
Block a user