Files
zulip/frontend_tests/node_tests/stream_pill.js
Ryan Rehman 981d028411 stream edit: Allow creating stream pills when typeahead is unused.
This completes the remaining work required to support
addition of all members of another stream.
This allows the creation of stream pills on pasting
the #streamname and copying it from the stream pill.
The user pills uses email ids instead.
And also allows creating stream pills when the user
hides the typeahead.

Tested by commenting out the "set_up_typeahead_on_pills"
line in `stream_edit.js`.

A `node_tests/stream_pill.js` file has been created
for the node tests and the other half of the coverage
check takes place in `node_tests/stream_edit.js`.
2020-08-31 16:57:32 -07:00

50 lines
1.3 KiB
JavaScript

"use strict";
zrequire("stream_data");
zrequire("stream_pill");
const denmark = {
stream_id: 1,
name: "Denmark",
subscribed: true,
subscriber_count: 10,
};
const sweden = {
stream_id: 2,
name: "Sweden",
subscribed: false,
subscriber_count: 30,
};
const denmark_pill = {
stream_name: denmark.name,
stream_id: denmark.stream_id,
display_value: "#" + denmark.name + ": " + denmark.subscriber_count + " users",
};
const sweden_pill = {
stream_name: sweden.name,
stream_id: sweden.stream_id,
display_value: "#" + sweden.name + ": " + sweden.subscriber_count + " users",
};
const subs = [denmark, sweden];
for (const sub of subs) {
stream_data.add_sub(sub);
}
run_test("create_item", () => {
function test_create_item(stream_name, current_items, expected_item) {
const item = stream_pill.create_item_from_stream_name(stream_name, current_items);
assert.deepEqual(item, expected_item);
}
test_create_item("sweden", [], undefined);
test_create_item("#sweden", [sweden_pill], undefined);
test_create_item(" #sweden", [], sweden_pill);
test_create_item("#test", [], undefined);
});
run_test("get_stream_id", () => {
assert.equal(stream_pill.get_stream_name_from_item(denmark_pill), denmark.name);
});