node tests: Test get_convos directly.

In order to simplify our node tests, we are willing
to sacrifice coverage on UI-oriented glue modules.
This commit is contained in:
Steve Howell
2022-03-15 17:10:47 +00:00
committed by Tim Abbott
parent 015cdfe07e
commit 8dcb7c571f
2 changed files with 9 additions and 19 deletions

View File

@@ -7,7 +7,6 @@ const {run_test} = require("../zjsunit/test");
const $ = require("../zjsunit/zjquery");
const narrow_state = mock_esm("../../static/js/narrow_state");
const pm_list_dom = mock_esm("../../static/js/pm_list_dom");
const unread = mock_esm("../../static/js/unread");
const vdom = mock_esm("../../static/js/vdom", {
render: () => "fake-dom-for-pm-list",
@@ -76,21 +75,14 @@ test("close", () => {
assert.ok(collapsed);
});
test("build_private_messages_list", ({override}) => {
test("get_convos", ({override}) => {
const timestamp = 0;
pm_conversations.recent.insert([101, 102], timestamp);
pm_conversations.recent.insert([103], timestamp);
let num_unread_for_person = 1;
override(unread, "num_unread_for_person", () => num_unread_for_person);
let pm_data;
override(pm_list_dom, "pm_ul", (data) => {
pm_data = data;
});
override(narrow_state, "filter", () => {});
pm_list._build_private_messages_list();
const expected_data = [
{
@@ -119,35 +111,31 @@ test("build_private_messages_list", ({override}) => {
},
];
let pm_data = pm_list_data.get_convos();
assert.deepEqual(pm_data, expected_data);
num_unread_for_person = 0;
pm_list._build_private_messages_list();
pm_data = pm_list_data.get_convos();
expected_data[0].unread = 0;
expected_data[0].is_zero = true;
expected_data[1].unread = 0;
expected_data[1].is_zero = true;
assert.deepEqual(pm_data, expected_data);
pm_list._build_private_messages_list();
pm_data = pm_list_data.get_convos();
assert.deepEqual(pm_data, expected_data);
});
test("build_private_messages_list_bot", ({override}) => {
test("get_convos bot", ({override}) => {
const timestamp = 0;
pm_conversations.recent.insert([101, 102], timestamp);
pm_conversations.recent.insert([314], timestamp);
pm_conversations.recent.insert([bot_test.user_id], timestamp);
override(unread, "num_unread_for_person", () => 1);
let pm_data;
override(pm_list_dom, "pm_ul", (data) => {
pm_data = data;
});
override(narrow_state, "filter", () => {});
pm_list._build_private_messages_list();
const expected_data = [
{
recipients: "Outgoing webhook",
@@ -173,6 +161,7 @@ test("build_private_messages_list_bot", ({override}) => {
},
];
const pm_data = pm_list_data.get_convos();
assert.deepEqual(pm_data, expected_data);
});

View File

@@ -120,6 +120,7 @@ EXEMPT_FILES = make_set(
"static/js/overlays.js",
"static/js/padded_widget.ts",
"static/js/page_params.ts",
"static/js/pm_list.js",
"static/js/pm_list_dom.js",
"static/js/poll_widget.js",
"static/js/popover_menus.js",