From f8b1f66d782513549f1e2390b9e197dec822ef29 Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Tue, 11 Feb 2014 23:22:17 +0000 Subject: [PATCH] users-controller: order users by name --- app/controllers/admin/users_controller.rb | 1 + test/functional/users_controller_test.rb | 10 ++++++++++ test/test_helper.rb | 13 +++++++++++++ 3 files changed, 24 insertions(+), 0 deletions(-) diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index 1671e82..de80ef5 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -16,6 +16,7 @@ class UsersController < AdminController elsif @filter == 'deactivated_users' scope = scope.deactivated end + scope = scope.order('name ASC') @q = params[:q] @collection = find_by_contents(:people, scope, @q, {:per_page => per_page, :page => params[:npage]})[:results] end diff --git a/test/functional/users_controller_test.rb b/test/functional/users_controller_test.rb index 8bf9d89..0871d52 100644 --- a/test/functional/users_controller_test.rb +++ b/test/functional/users_controller_test.rb @@ -107,6 +107,16 @@ class UsersControllerTest < ActionController::TestCase assert_equal false, u.activated? end + should 'order users by name' do + create_user('jeremy') + create_user('bill') + create_user('ana') + create_user('creed') + get :index + + assert_order ['ana', 'bill', 'creed', 'jeremy'], assigns(:collection).map(&:name) + end + should 'response as XML to export users' do get :download, :format => 'xml' assert_equal 'text/xml', @response.content_type diff --git a/test/test_helper.rb b/test/test_helper.rb index 02752ce..eb41ca3 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -177,6 +177,19 @@ class ActiveSupport::TestCase assert !tag, "expected no tag #{options.inspect}, but tag found in #{text.inspect}" end + def assert_order(reference, original) + original.each do |value| + if reference.include?(value) + if reference.first == value + reference.shift + else + assert false, "'#{value}' was found before it should be on: #{original.inspect}" + end + end + end + assert reference.blank?, "The following elements are not in the collection: #{reference.inspect}" + end + # For models that render views (blocks, articles, ...) def render(*args) view_paths = @explicit_view_paths || ActionController::Base.view_paths -- libgit2 0.21.2