33 lines
854 B
Plaintext
33 lines
854 B
Plaintext
|
module("Discourse.TopicDetails");
|
||
|
|
||
|
var buildDetails = function(id) {
|
||
|
var topic = Discourse.Topic.create({id: id});
|
||
|
return topic.get('details');
|
||
|
};
|
||
|
|
||
|
test('defaults', function() {
|
||
|
var details = buildDetails(1234);
|
||
|
present(details, "the details are present by default");
|
||
|
ok(!details.get('loaded'), "details are not loaded by default");
|
||
|
});
|
||
|
|
||
|
test('updateFromJson', function() {
|
||
|
var details = buildDetails(1234);
|
||
|
|
||
|
details.updateFromJson({
|
||
|
suggested_topics: [{id: 1}, {id: 3}],
|
||
|
allowed_users: [{username: 'eviltrout'}]
|
||
|
});
|
||
|
|
||
|
equal(details.get('suggested_topics.length'), 2, 'it loaded the suggested_topics');
|
||
|
containsInstance(details.get('suggested_topics'), Discourse.Topic);
|
||
|
|
||
|
equal(details.get('allowed_users.length'), 1, 'it loaded the allowed users');
|
||
|
containsInstance(details.get('allowed_users'), Discourse.User);
|
||
|
|
||
|
});
|
||
|
|
||
|
|
||
|
|
||
|
|