diff --git a/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb b/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb index 968da5b..229f73f 100644 --- a/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb +++ b/app/controllers/knowledge_explorer/knowledge_explorer_controller.rb @@ -55,6 +55,7 @@ module KnowledgeExplorer def topic_in_explorer(category, tags) category_match = KnowledgeExplorer::Query.categories.include?(category.to_s) + tags = tags.pluck(:name) tag_match = KnowledgeExplorer::Query.tags.any? { |tag| tags.include?(tag) } category_match || tag_match diff --git a/spec/requests/knowledge_explorer_controller_spec.rb b/spec/requests/knowledge_explorer_controller_spec.rb index 60bbc0f..fe9b251 100644 --- a/spec/requests/knowledge_explorer_controller_spec.rb +++ b/spec/requests/knowledge_explorer_controller_spec.rb @@ -154,6 +154,22 @@ describe KnowledgeExplorer::KnowledgeExplorerController do expect(response.parsed_body['topic']).to be_blank end + + it 'should return a KE topic when only tags are added to settings' do + SiteSetting.knowledge_explorer_categories = nil + + get "/docs.json?topic=#{topic.id}" + + expect(response.parsed_body['topic']['id']).to eq(topic.id) + end + + it 'should return a KE topic when only categories are added to settings' do + SiteSetting.knowledge_explorer_tags = nil + + get "/docs.json?topic=#{topic.id}" + + expect(response.parsed_body['topic']['id']).to eq(topic.id) + end end end end