From 7cc5b58a8907a68bf5e82392c0268773ee7f1940 Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Tue, 30 Jan 2018 14:06:44 +0100 Subject: [PATCH] Fix sort users by their member_uid This was done with angular in the client side so far. Now fetching the users list was moved to the backend and so has to be the sorting. --- app/controllers/users_controller.rb | 1 + spec/controllers/users_controller_spec.rb | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) 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