mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
node tests. Use clean data for unread tests.
This commit is contained in:
committed by
Steve Howell
parent
164db57be1
commit
1064690999
@@ -11,7 +11,9 @@ let page_params = set_global("page_params", {
|
||||
realm_push_notifications_enabled: false,
|
||||
});
|
||||
|
||||
const message_store = mock_module("message_store");
|
||||
const message_store = mock_module("message_store", {
|
||||
get() {},
|
||||
});
|
||||
const muting = zrequire("muting");
|
||||
|
||||
set_global("current_msg_list", {});
|
||||
@@ -64,19 +66,27 @@ function test_notifiable_count(home_unread_messages, expected_notifiable_count)
|
||||
assert.deepEqual(notifiable_counts, 0);
|
||||
}
|
||||
|
||||
run_test("empty_counts_while_narrowed", () => {
|
||||
function test(label, f) {
|
||||
run_test(label, (override) => {
|
||||
unread.declare_bankruptcy();
|
||||
muting.set_muted_topics([]);
|
||||
f(override);
|
||||
});
|
||||
}
|
||||
|
||||
test("empty_counts_while_narrowed", () => {
|
||||
const counts = unread.get_counts();
|
||||
assert_zero_counts(counts);
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("empty_counts_while_home", () => {
|
||||
test("empty_counts_while_home", () => {
|
||||
const counts = unread.get_counts();
|
||||
assert_zero_counts(counts);
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("changing_topics", () => {
|
||||
test("changing_topics", (override) => {
|
||||
// Summary: change the topic of a message from 'lunch'
|
||||
// to 'dinner' using update_unread_topics().
|
||||
let count = unread.num_unread_for_topic(social.stream_id, "lunch");
|
||||
@@ -180,7 +190,7 @@ run_test("changing_topics", () => {
|
||||
message_dict.set(other_message.id, other_message);
|
||||
message_dict.set(sticky_message.id, sticky_message);
|
||||
|
||||
message_store.get = (msg_id) => message_dict.get(msg_id);
|
||||
override(message_store, "get", (msg_id) => message_dict.get(msg_id));
|
||||
|
||||
unread.process_loaded_messages([sticky_message]);
|
||||
count = unread.num_unread_for_topic(stream_id, "sticky");
|
||||
@@ -213,9 +223,7 @@ run_test("changing_topics", () => {
|
||||
unread.update_unread_topics(sticky_message, {});
|
||||
});
|
||||
|
||||
run_test("muting", () => {
|
||||
unread.declare_bankruptcy();
|
||||
|
||||
test("muting", () => {
|
||||
const stream_id = social.stream_id;
|
||||
const unknown_stream_id = 555;
|
||||
|
||||
@@ -249,11 +257,9 @@ run_test("muting", () => {
|
||||
assert.equal(unread.num_unread_for_stream(unknown_stream_id), 0);
|
||||
});
|
||||
|
||||
run_test("num_unread_for_topic", (override) => {
|
||||
test("num_unread_for_topic", (override) => {
|
||||
// Test the num_unread_for_topic() function using many
|
||||
// messages.
|
||||
unread.declare_bankruptcy();
|
||||
|
||||
const stream_id = 301;
|
||||
|
||||
override(stream_data, "get_sub_by_id", (arg) => {
|
||||
@@ -324,7 +330,7 @@ run_test("num_unread_for_topic", (override) => {
|
||||
assert.deepEqual(msg_ids, []);
|
||||
});
|
||||
|
||||
run_test("home_messages", (override) => {
|
||||
test("home_messages", (override) => {
|
||||
override(stream_data, "is_subscribed", () => true);
|
||||
override(stream_data, "is_muted", () => false);
|
||||
|
||||
@@ -369,7 +375,7 @@ run_test("home_messages", (override) => {
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("phantom_messages", (override) => {
|
||||
test("phantom_messages", () => {
|
||||
const message = {
|
||||
id: 999,
|
||||
type: "stream",
|
||||
@@ -377,15 +383,13 @@ run_test("phantom_messages", (override) => {
|
||||
topic: "phantom",
|
||||
};
|
||||
|
||||
override(stream_data, "get_sub_by_id", () => {});
|
||||
|
||||
unread.mark_as_read(message.id);
|
||||
const counts = unread.get_counts();
|
||||
assert.equal(counts.home_unread_messages, 0);
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("private_messages", () => {
|
||||
test("private_messages", () => {
|
||||
let counts = unread.get_counts();
|
||||
assert.equal(counts.private_message_count, 0);
|
||||
|
||||
@@ -416,7 +420,7 @@ run_test("private_messages", () => {
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("private_messages", () => {
|
||||
test("private_messages", () => {
|
||||
const alice = {
|
||||
email: "alice@example.com",
|
||||
user_id: 101,
|
||||
@@ -470,7 +474,7 @@ run_test("private_messages", () => {
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("mentions", () => {
|
||||
test("mentions", () => {
|
||||
let counts = unread.get_counts();
|
||||
assert.equal(counts.mentioned_message_count, 0);
|
||||
assert.deepEqual(unread.get_msg_ids_for_mentions(), []);
|
||||
@@ -548,7 +552,7 @@ run_test("mentions", () => {
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("mention updates", () => {
|
||||
test("mention updates", () => {
|
||||
const message = {
|
||||
id: 17,
|
||||
unread: false,
|
||||
@@ -579,13 +583,13 @@ run_test("mention updates", () => {
|
||||
test_counted(true);
|
||||
});
|
||||
|
||||
run_test("starring", () => {
|
||||
test("starring", () => {
|
||||
// We don't need any setup here, because we just hard code
|
||||
// this to [] in the code.
|
||||
assert.deepEqual(unread.get_msg_ids_for_starred(), []);
|
||||
});
|
||||
|
||||
run_test("declare_bankruptcy", () => {
|
||||
test("declare_bankruptcy", () => {
|
||||
const message = {
|
||||
id: 16,
|
||||
type: "whatever",
|
||||
@@ -603,14 +607,14 @@ run_test("declare_bankruptcy", () => {
|
||||
test_notifiable_count(counts.home_unread_messages, 0);
|
||||
});
|
||||
|
||||
run_test("message_unread", () => {
|
||||
test("message_unread", () => {
|
||||
// Test some code that might be overly defensive, for line coverage sake.
|
||||
assert(!unread.message_unread(undefined));
|
||||
assert(unread.message_unread({unread: true}));
|
||||
assert(!unread.message_unread({unread: false}));
|
||||
});
|
||||
|
||||
run_test("server_counts", () => {
|
||||
test("server_counts", () => {
|
||||
// note that user_id 30 is "me"
|
||||
|
||||
page_params.unread_msgs = {
|
||||
@@ -636,7 +640,6 @@ run_test("server_counts", () => {
|
||||
mentions: [31, 34, 40, 41],
|
||||
};
|
||||
|
||||
unread.declare_bankruptcy();
|
||||
unread.initialize();
|
||||
|
||||
assert.equal(unread.num_unread_for_person("101"), 6);
|
||||
@@ -659,9 +662,7 @@ run_test("server_counts", () => {
|
||||
assert.equal(unread.num_unread_for_person("4,6,101"), 1);
|
||||
});
|
||||
|
||||
run_test("empty_cases", () => {
|
||||
unread.declare_bankruptcy();
|
||||
|
||||
test("empty_cases", () => {
|
||||
const stream_id = 999;
|
||||
let msg_ids = unread.get_msg_ids_for_topic(stream_id, "LuNcH");
|
||||
assert.deepEqual(msg_ids, []);
|
||||
@@ -677,9 +678,7 @@ run_test("empty_cases", () => {
|
||||
assert.deepEqual(missing_topics, []);
|
||||
});
|
||||
|
||||
run_test("errors", () => {
|
||||
unread.declare_bankruptcy();
|
||||
|
||||
test("errors", () => {
|
||||
// Test unknown message leads to zero count
|
||||
const message = {
|
||||
id: 9,
|
||||
|
||||
Reference in New Issue
Block a user