2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2025-09-07 12:02:53 +08:00

Refactor: Move Topic Details into better objects, identity map, tests, query string filters

This commit is contained in:
Robin Ward 2013-06-20 17:20:08 -04:00
parent d051e35000
commit 5770879472
56 changed files with 1854 additions and 1244 deletions

View file

@ -0,0 +1,32 @@
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);
});