discourse/test/javascripts/models/nav-item-test.js.es6

47 lines
1.2 KiB
Plaintext
Raw Normal View History

2018-06-15 23:03:24 +08:00
import createStore from "helpers/create-store";
2017-06-15 01:57:58 +08:00
QUnit.module("Discourse.NavItem", {
beforeEach() {
2014-01-10 02:48:47 +08:00
Ember.run(function() {
2018-06-15 23:03:24 +08:00
const asianCategory = Discourse.Category.create({
name: "确实是这样",
id: 343434
});
Discourse.Site.currentProp("categories").addObject(asianCategory);
2014-01-10 02:48:47 +08:00
});
}
});
2018-06-15 23:03:24 +08:00
QUnit.test("href", assert => {
2017-06-15 01:57:58 +08:00
assert.expect(4);
function href(text, expected, label) {
2018-06-15 23:03:24 +08:00
assert.equal(
Discourse.NavItem.fromText(text, {}).get("href"),
expected,
label
);
}
2018-06-15 23:03:24 +08:00
href("latest", "/latest", "latest");
href("categories", "/categories", "categories");
href("category/bug", "/c/bug", "English category name");
href("category/确实是这样", "/c/343434-category", "Chinese category name");
});
QUnit.test("count", assert => {
const navItem = createStore().createRecord("nav-item", { name: "new" });
assert.equal(navItem.get("count"), 0, "it has no count by default");
const tracker = navItem.get("topicTrackingState");
tracker.states["t1"] = { topic_id: 1, last_read_post_number: null };
tracker.incrementMessageCount();
2018-06-15 23:03:24 +08:00
assert.equal(
navItem.get("count"),
1,
"it updates when a new message arrives"
);
});