zulip/frontend_tests/node_tests/topic_list.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

add_dependencies({
Handlebars: 'handlebars',
hash_util: 'js/hash_util',
hashchange: 'js/hashchange',
muting: 'js/muting',
narrow: 'js/narrow',
stream_data: 'js/stream_data',
templates: 'js/templates',
});
set_global('unread', {});
var jsdom = require("jsdom");
var window = jsdom.jsdom().defaultView;
global.$ = require('jquery')(window);
var topic_list = require('js/topic_list.js');
global.compile_template('topic_list_item');
(function test_topic_list_build_widget() {
var stream_id = 555;
var active_topic = "testing";
var max_topics = 5;
var recent_topics = {};
recent_topics[stream_id] = [
{subject: "coding"},
];
global.stream_data.populate_stream_topics_for_tests(recent_topics);
global.unread.num_unread_for_subject = function () {
return 1;
};
global.stream_data.get_sub_by_id = function (stream_id) {
assert.equal(stream_id, 555);
return 'devel';
};
2017-05-13 19:26:54 +02:00
var parent_elem = $('<div>');
var widget = topic_list.build_widget(parent_elem, stream_id, active_topic, max_topics);
var topic_html = widget.get_dom();
assert.equal(widget.get_parent(), parent_elem);
assert.equal(widget.get_stream_id(), stream_id);
var topic = $(topic_html).find('a').text().trim();
assert.equal(topic, 'coding');
global.write_test_output("test_topic_list_build_widget", parent_elem.html());
}());