36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
import createStore from 'helpers/create-store';
|
|
|
|
QUnit.module("Discourse.NavItem", {
|
|
beforeEach() {
|
|
Ember.run(function() {
|
|
const asianCategory = Discourse.Category.create({name: '确实是这样', id: 343434});
|
|
Discourse.Site.currentProp('categories').addObject(asianCategory);
|
|
});
|
|
}
|
|
});
|
|
|
|
QUnit.test('href', assert =>{
|
|
assert.expect(4);
|
|
|
|
function href(text, expected, label) {
|
|
assert.equal(Discourse.NavItem.fromText(text, {}).get('href'), expected, label);
|
|
}
|
|
|
|
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();
|
|
|
|
assert.equal(navItem.get("count"), 1, "it updates when a new message arrives");
|
|
});
|