FIX: uncategorized counts were always 0. topics_year, topics_month, topics_week, topics_day

This commit is contained in:
Neil Lalonde 2014-08-27 15:58:05 -04:00
parent f05d2ed7cf
commit 99d26cef1a
2 changed files with 22 additions and 1 deletions

View File

@ -133,7 +133,8 @@ SQL
# If you refactor this, test performance on a large database.
Category.all.each do |c|
topics = c.topics.where(['topics.id <> ?', c.topic_id]).visible
topics = c.topics.visible
topics = topics.where(['topics.id <> ?', c.topic_id]) if c.topic_id
c.topics_year = topics.created_since(1.year.ago).count
c.topics_month = topics.created_since(1.month.ago).count
c.topics_week = topics.created_since(1.week.ago).count

View File

@ -380,6 +380,26 @@ describe Category do
@category.posts_week.should == 1
end
end
context 'for uncategorized category' do
before do
@uncategorized = Category.find(SiteSetting.uncategorized_category_id)
create_post(user: Fabricate(:user), category: @uncategorized.name)
Category.update_stats
@uncategorized.reload
end
it 'updates topic stats' do
@uncategorized.topics_week.should == 1
@uncategorized.topics_month.should == 1
@uncategorized.topics_year.should == 1
@uncategorized.topic_count.should == 1
@uncategorized.post_count.should == 1
@uncategorized.posts_year.should == 1
@uncategorized.posts_month.should == 1
@uncategorized.posts_week.should == 1
end
end
end
describe "#url" do