diff --git a/Changelog.md b/Changelog.md index d9051c0ee..82789bab0 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,6 +1,7 @@ # 0.5.8.0 ## Refactor +* Sort tag autocompletion by tag name [#6734](https://github.com/diaspora/diaspora/pull/6734) ## Bug fixes * Fix empty name field when editing aspect names [#6706](https://github.com/diaspora/diaspora/pull/6706) diff --git a/app/models/acts_as_taggable_on-tag.rb b/app/models/acts_as_taggable_on-tag.rb index a19dc3636..ca38de751 100644 --- a/app/models/acts_as_taggable_on-tag.rb +++ b/app/models/acts_as_taggable_on-tag.rb @@ -8,7 +8,7 @@ module ActsAsTaggableOn end def self.autocomplete(name) - where("name LIKE ?", "#{name.downcase}%") + where("name LIKE ?", "#{name.downcase}%").order("name ASC") end def self.normalize(name) diff --git a/spec/models/acts_as_taggable_on_tag_spec.rb b/spec/models/acts_as_taggable_on_tag_spec.rb index 84f1fd982..53e9718d2 100644 --- a/spec/models/acts_as_taggable_on_tag_spec.rb +++ b/spec/models/acts_as_taggable_on_tag_spec.rb @@ -13,6 +13,12 @@ describe ActsAsTaggableOn::Tag, :type => :model do it "does an end where on tags" do expect(tag.autocomplete("CAT")).to eq([tag_cats]) end + + it "sorts the results by name" do + tag_cat = tag.create(name: "cat") + tag_catt = tag.create(name: "catt") + expect(tag.autocomplete("CAT")).to eq([tag_cat, tag_cats, tag_catt]) + end end describe ".normalize" do