Adds "sorted" scope to Principal and User and sort users/groups properly.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11259 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2013-01-23 17:44:28 +00:00
parent c7df78f3b6
commit e53a5de918
8 changed files with 33 additions and 4 deletions
+14
View File
@@ -49,6 +49,20 @@ class PrincipalTest < ActiveSupport::TestCase
assert_equal [], Principal.not_member_of([]).sort
end
def test_sorted_scope_should_sort_users_before_groups
scope = Principal.where("type <> ?", 'AnonymousUser')
expected_order = scope.all.sort do |a, b|
if a.is_a?(User) && b.is_a?(Group)
-1
elsif a.is_a?(Group) && b.is_a?(User)
1
else
a.name.downcase <=> b.name.downcase
end
end
assert_equal expected_order.map(&:name).map(&:downcase), scope.sorted.all.map(&:name).map(&:downcase)
end
context "#like" do
setup do
Principal.create!(:login => 'login')
+4
View File
@@ -34,6 +34,10 @@ class UserTest < ActiveSupport::TestCase
@dlopper = User.find(3)
end
def test_sorted_scope_should_sort_user_by_display_name
assert_equal User.all.map(&:name).map(&:downcase).sort, User.sorted.all.map(&:name).map(&:downcase)
end
def test_generate
User.generate!(:firstname => 'Testing connection')
User.generate!(:firstname => 'Testing connection')