discourse/test/javascripts/models/topic-details-test.js.es6

31 lines
930 B
Plaintext
Raw Normal View History

2017-06-15 01:57:58 +08:00
QUnit.module("model:topic-details");
import Topic from 'discourse/models/topic';
var buildDetails = function(id) {
var topic = Topic.create({id: id});
return topic.get('details');
};
2017-06-15 01:57:58 +08:00
QUnit.test('defaults', assert => {
var details = buildDetails(1234);
2017-06-15 01:57:58 +08:00
assert.present(details, "the details are present by default");
assert.ok(!details.get('loaded'), "details are not loaded by default");
});
2017-06-15 01:57:58 +08:00
QUnit.test('updateFromJson', assert => {
var details = buildDetails(1234);
details.updateFromJson({
suggested_topics: [{id: 1}, {id: 3}],
allowed_users: [{username: 'eviltrout'}]
});
2017-06-15 01:57:58 +08:00
assert.equal(details.get('suggested_topics.length'), 2, 'it loaded the suggested_topics');
assert.containsInstance(details.get('suggested_topics'), Topic);
2017-06-15 01:57:58 +08:00
assert.equal(details.get('allowed_users.length'), 1, 'it loaded the allowed users');
assert.containsInstance(details.get('allowed_users'), Discourse.User);
});