BUGFIX: deleted categories would mess up watching/tracking prefs

This commit is contained in:
Sam 2014-02-04 15:14:10 +11:00
parent 43c698282c
commit 612001aa74
2 changed files with 16 additions and 2 deletions

View File

@ -209,9 +209,14 @@ Discourse.Category.reopenClass({
},
findByIds: function(ids){
return ids.map(function(id){
return Discourse.Category.findById(id);
var categories = [];
_.each(ids, function(id){
var found = Discourse.Category.findById(id);
if(found){
categories.push(found);
}
});
return categories;
},
findBySlug: function(slug, parentSlug) {

View File

@ -39,6 +39,15 @@ test('findBySlug', function() {
blank(Discourse.Category.findBySlug('luke', 'leia'), 'luke is blank with an incorrect parent');
});
test('findByIds', function(){
var categories = [
Discourse.Category.create({id: 1}),
Discourse.Category.create({id: 2})];
this.stub(Discourse.Category, 'list').returns(categories);
deepEqual(Discourse.Category.findByIds([1,2,3]), categories);
});
test('postCountStats', function() {
var category1 = Discourse.Category.create({id: 1, slug: 'unloved', posts_year: 2, posts_month: 0, posts_week: 0, posts_day: 0}),
category2 = Discourse.Category.create({id: 2, slug: 'hasbeen', posts_year: 50, posts_month: 4, posts_week: 0, posts_day: 0}),