diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 65a34f183..dc4b85fb4 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -3,6 +3,7 @@ class UsersController < ApplicationController def index @search = current_organization.users.ransack(params[:q]) + @search.sorts = 'members_member_uid asc' if @search.sorts.empty? @users = @search .result(distinct: false) diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index dcf1fe170..9f5df70e2 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -38,11 +38,26 @@ before { set_browser_locale("ca") } describe "GET #index" do + before { login(user) } + + it 'sorts the users by their member_uid' do + member.update_attribute(:member_uid, 100) + + get :index + + expect(assigns(:users)).to eq([ + another_user, + admin_user, + wrong_user, + empty_email_user, + user, + ]) + end + context 'when a user has many memberships' do let!(:member_in_another_organization) { Fabricate(:member, user: user) } before do - login(user) member.account.update_attribute( :balance, Time.parse('13:33').seconds_since_midnight