From b98af83c9d13b22aa3f6cc836acdc56742c935f5 Mon Sep 17 00:00:00 2001
From: Steffen van Bergerem <svbergerem@online.de>
Date: Thu, 3 Mar 2016 11:12:17 +0100
Subject: [PATCH] Sort tag search result by name

closes #6734
---
 Changelog.md                                | 1 +
 app/models/acts_as_taggable_on-tag.rb       | 2 +-
 spec/models/acts_as_taggable_on_tag_spec.rb | 6 ++++++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/Changelog.md b/Changelog.md
index d9051c0ee1..82789bab0a 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 a19dc36369..ca38de7517 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 84f1fd982b..53e9718d25 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
-- 
GitLab