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