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:
@@ -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')
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user