Use a fixed limit for mega topic posts count.

This commit is contained in:
Guo Xiang Tan 2018-06-20 16:58:52 +08:00
parent 9c925a66ff
commit ff5fc3cb08
2 changed files with 17 additions and 8 deletions

View File

@ -378,7 +378,7 @@ class TopicView
columns = [:id, :post_number]
if is_mega_topic?
if !is_mega_topic?
columns << 'EXTRACT(DAYS FROM CURRENT_TIMESTAMP - created_at)::INT AS days_ago'
end
@ -563,7 +563,9 @@ class TopicView
filtered_post_ids.index(closest_post.first) || filtered_post_ids[0]
end
MEGA_TOPIC_POSTS_COUNT = 10000
def is_mega_topic?
!@topic.private_message? && @topic.posts_count >= SiteSetting.auto_close_topics_post_count
@topic.posts_count >= MEGA_TOPIC_POSTS_COUNT
end
end

View File

@ -565,13 +565,20 @@ describe TopicView do
describe 'for mega topics' do
it 'should return the right columns' do
SiteSetting.auto_close_topics_post_count = 2
begin
original_const = TopicView::MEGA_TOPIC_POSTS_COUNT
TopicView.send(:remove_const, "MEGA_TOPIC_POSTS_COUNT")
TopicView.const_set("MEGA_TOPIC_POSTS_COUNT", 2)
expect(topic_view.filtered_post_stream).to eq([
[post.id, post.post_number],
[post2.id, post2.post_number],
[post3.id, post3.post_number]
])
expect(topic_view.filtered_post_stream).to eq([
[post.id, post.post_number],
[post2.id, post2.post_number],
[post3.id, post3.post_number]
])
ensure
TopicView.send(:remove_const, "MEGA_TOPIC_POSTS_COUNT")
TopicView.const_set("MEGA_TOPIC_POSTS_COUNT", original_const)
end
end
end
end