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);

});