FIX: Make category updates slug validation idempotent

Co-authored-by: Michael Brown <supermathie@gmail.com>
This commit is contained in:
Rafael dos Santos Silva 2019-10-21 14:33:19 -03:00
parent 3ad07aacfa
commit 2e73985d1b
2 changed files with 7 additions and 0 deletions

View File

@ -285,6 +285,7 @@ class Category < ActiveRecord::Base
if slug.present?
# santized custom slug
slug = SiteSetting.slug_generation_method == 'encoded' ? CGI.unescape(self.slug) : self.slug
self.slug = Slug.sanitize(slug)
errors.add(:slug, 'is already in use') if duplicate_slug?
else

View File

@ -316,6 +316,12 @@ describe Category do
expect(@category.slug).to eq("%E6%B5%8B%E8%AF%95")
expect(@category.slug_for_url).to eq("%E6%B5%8B%E8%AF%95")
end
it "keeps the slug" do
@category.save
expect(@category.slug).to eq("%E6%B5%8B%E8%AF%95")
expect(@category.slug_for_url).to eq("%E6%B5%8B%E8%AF%95")
end
end
end