diff --git a/app/logical/tag_relationship_retirement_service.rb b/app/logical/tag_relationship_retirement_service.rb index 7b4d65133..5ccaf2424 100644 --- a/app/logical/tag_relationship_retirement_service.rb +++ b/app/logical/tag_relationship_retirement_service.rb @@ -40,15 +40,15 @@ module TagRelationshipRetirementService end def inactive_relationships - (inactive_aliases + inactive_implications).uniq + (inactive_gentag_aliases + inactive_artist_aliases + inactive_implications).uniq end def inactive_implications TagImplication.active.empty.where.not(consequent_name: "banned_artist") end - def inactive_aliases - aliases = TagAlias.general.or(TagAlias.artist).active.where("tag_aliases.created_at < ?", THRESHOLD.ago) + def inactive_gentag_aliases + aliases = TagAlias.general.active.where("tag_aliases.created_at < ?", THRESHOLD.ago) aliases = aliases.select do |tag_alias| !tag_alias.consequent_tag.posts.exists?(["created_at > ?", THRESHOLD.ago]) end @@ -56,4 +56,8 @@ module TagRelationshipRetirementService aliases += TagAlias.active.empty aliases end + + def inactive_artist_aliases + TagAlias.active.artist.where("tag_aliases.created_at < ?", THRESHOLD.ago) + end end diff --git a/test/jobs/retire_tag_relationships_job_test.rb b/test/jobs/retire_tag_relationships_job_test.rb index 78be3a4a8..d4a566df1 100644 --- a/test/jobs/retire_tag_relationships_job_test.rb +++ b/test/jobs/retire_tag_relationships_job_test.rb @@ -51,7 +51,7 @@ class RetireTagRelationshipsJobTest < ActiveJob::TestCase RetireTagRelationshipsJob.perform_now - assert_equal(false, ta0.reload.is_retired?) + assert_equal(true, ta0.reload.is_retired?) assert_equal(false, ta1.reload.is_retired?) assert_equal(false, ta2.reload.is_retired?) assert_equal(false, ta3.reload.is_retired?)