diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index d0e182fa4b..55528bbe32 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -65,7 +65,7 @@ def resource_ids raise "Unknown resource type #{params[:resource_type]}" end - objects = klass.where("name LIKE ?", "%#{params[:q]}%").select(:id, :name) + objects = klass.where("name ILIKE ?", "%#{params[:q]}%").order("lower(name)").select(:id, :name) object_json = objects.map do |obj| { id: obj.id, diff --git a/spec/requests/admin/users_requests_spec.rb b/spec/requests/admin/users_requests_spec.rb index 347f0a2be6..4fe9e4021e 100644 --- a/spec/requests/admin/users_requests_spec.rb +++ b/spec/requests/admin/users_requests_spec.rb @@ -9,6 +9,9 @@ before do sign_in(super_admin) AddRoleService.call(user_id: user.id, resource_type: Role::PARTNER, resource_id: partner.id) + create(:organization, name: "Pawnee") + create(:organization, name: "SF Diaper") + create(:organization, name: "Second City") end describe "GET #index" do @@ -237,6 +240,15 @@ end end end + describe "Validate Order of returned organization list" do + it "Should sort display resource in human alphabetical order" do + get "/admin/users/resource_ids?resource_type=org_admin" + body_json = JSON.parse(response.body) + expect(body_json["results"].length).to be(4) + text_list = body_json["results"].map { |obj| obj["text"] } + expect(text_list).to match_array(["Org ABC", "Pawnee", "SF Diaper", "Second City"]) + end + end end describe 'POST #resend_invitation' do