BURs: fix exception in category change requests for new tags.

`category blah -> character` failed when `blah` didn't exist yet.
This commit is contained in:
evazion
2019-12-10 15:17:10 -06:00
parent 2f27a4eddd
commit 2e6486ab5f
2 changed files with 9 additions and 1 deletions

View File

@@ -155,7 +155,7 @@ private
TagBatchChangeJob.perform_later(token[1], token[2], User.system, "127.0.0.1")
when :change_category
tag = Tag.find_by_name(token[1])
tag = Tag.find_or_create_by_name(token[1])
tag.category = Tag.categories.value_for(token[2])
tag.save

View File

@@ -160,6 +160,14 @@ class BulkUpdateRequestTest < ActiveSupport::TestCase
assert_equal(Tag.categories.meta, tag.reload.category)
end
should "work for a new tag" do
bur = FactoryBot.create(:bulk_update_request, :script => "category new_tag -> meta")
bur.approve!(@admin)
assert_not_nil(Tag.find_by_name("new_tag"))
assert_equal(Tag.categories.meta, Tag.find_by_name("new_tag").category)
end
end
context "with an associated forum topic" do