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:
parent
d051e35000
commit
5770879472
56 changed files with 1854 additions and 1244 deletions
32
test/javascripts/models/topic_details_test.js
Normal file
32
test/javascripts/models/topic_details_test.js
Normal 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);
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue