From 7ebf0002cfbaaf08c522302ec5478132c2c7f551 Mon Sep 17 00:00:00 2001 From: nonamethanks Date: Wed, 19 Oct 2022 18:36:06 +0200 Subject: [PATCH] Tags: remove aliases when deprecating a tag --- app/logical/bulk_update_request_processor.rb | 1 + test/unit/bulk_update_request_test.rb | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/logical/bulk_update_request_processor.rb b/app/logical/bulk_update_request_processor.rb index dab562bda..74716f2c4 100644 --- a/app/logical/bulk_update_request_processor.rb +++ b/app/logical/bulk_update_request_processor.rb @@ -217,6 +217,7 @@ class BulkUpdateRequestProcessor when :deprecate tag = Tag.find_or_create_by_name(args[0]) tag.update!(is_deprecated: true, updater: User.system) + TagAlias.active.where(consequent_name: tag.name).each { |ti| ti.reject!(User.system) } TagImplication.active.where(consequent_name: tag.name).each { |ti| ti.reject!(User.system) } TagImplication.active.where(antecedent_name: tag.name).each { |ti| ti.reject!(User.system) } diff --git a/test/unit/bulk_update_request_test.rb b/test/unit/bulk_update_request_test.rb index c89b06b69..174adaca0 100644 --- a/test/unit/bulk_update_request_test.rb +++ b/test/unit/bulk_update_request_test.rb @@ -611,14 +611,16 @@ class BulkUpdateRequestTest < ActiveSupport::TestCase assert_equal(true, @tag.reload.is_deprecated?) end - should "remove implications" do + should "remove implications and aliases" do @ti1 = create(:tag_implication, antecedent_name: "grey_hair", consequent_name: "old_woman") @ti2 = create(:tag_implication, antecedent_name: "my_literal_dog", consequent_name: "grey_hair") + @ta = create(:tag_alias, antecedent_name: "silver_hair", consequent_name: "grey_hair") @wiki = create(:wiki_page, title: "grey_hair") @bur = create_bur!("deprecate grey_hair", @admin) assert_equal("deleted", @ti1.reload.status) assert_equal("deleted", @ti2.reload.status) + assert_equal("deleted", @ta.reload.status) assert_equal("approved", @bur.reload.status) end