From bcfbacec16feaf9b338ae8e6e5937f263ada29b9 Mon Sep 17 00:00:00 2001 From: Neil Lalonde Date: Thu, 21 Nov 2013 16:43:22 -0500 Subject: [PATCH] Don't show category descriptions as suggested topics --- lib/suggested_topics_builder.rb | 2 ++ spec/components/suggested_topics_builder_spec.rb | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/lib/suggested_topics_builder.rb b/lib/suggested_topics_builder.rb index 26a83dcff9c..509a00d35be 100644 --- a/lib/suggested_topics_builder.rb +++ b/lib/suggested_topics_builder.rb @@ -7,6 +7,7 @@ class SuggestedTopicsBuilder def initialize(topic) @excluded_topic_ids = [topic.id] @category_id = topic.category_id + @category_topic_ids = Category.pluck(:topic_id).compact @results = [] end @@ -20,6 +21,7 @@ class SuggestedTopicsBuilder results = results.where('topics.id NOT IN (?)', @excluded_topic_ids) .where(closed: false, archived: false, visible: true) .to_a + .reject { |topic| @category_topic_ids.include?(topic.id) } unless results.empty? # Keep track of the ids we've added diff --git a/spec/components/suggested_topics_builder_spec.rb b/spec/components/suggested_topics_builder_spec.rb index 71187f70998..0ecb50e7476 100644 --- a/spec/components/suggested_topics_builder_spec.rb +++ b/spec/components/suggested_topics_builder_spec.rb @@ -90,6 +90,17 @@ describe SuggestedTopicsBuilder do end end + context "category definition topics" do + let!(:category) { Fabricate(:category) } + + it "doesn't add a category definition topic" do + category.topic_id.should be_present + builder.add_results(Topic) + builder.size.should == 0 + builder.should_not be_full + end + end + end