From ac775e2bddc927575797353da90e33c56055db62 Mon Sep 17 00:00:00 2001 From: evazion Date: Thu, 24 Oct 2019 19:44:59 -0500 Subject: [PATCH] Fix #4199: Aliased tags not included in related wiki tags. --- app/models/wiki_page.rb | 3 ++- test/unit/related_tag_query_test.rb | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index 2bc2678d5..c56dcca49 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -220,7 +220,8 @@ class WikiPage < ApplicationRecord def tags titles = DText.parse_wiki_titles(body).uniq tags = Tag.nonempty.where(name: titles).pluck(:name) - titles & tags + tags += TagAlias.active.where(antecedent_name: titles).pluck(:antecedent_name) + TagAlias.to_aliased(titles & tags) end def visible? diff --git a/test/unit/related_tag_query_test.rb b/test/unit/related_tag_query_test.rb index 096bee3ea..6023313fa 100644 --- a/test/unit/related_tag_query_test.rb +++ b/test/unit/related_tag_query_test.rb @@ -98,6 +98,14 @@ class RelatedTagQueryTest < ActiveSupport::TestCase query = RelatedTagQuery.new(query: "wiki") assert_equal(%w[ccc bbb aaa], query.wiki_page_tags) end + + should "return aliased tags" do + create(:tag_alias, antecedent_name: "kitten", consequent_name: "cat", status: "active") + create(:wiki_page, title: "wiki", body: "[[kitten]]") + + query = RelatedTagQuery.new(query: "wiki") + assert_equal(%w[cat], query.wiki_page_tags) + end end end