diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index a2d89f21b..ed96e3593 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -6,7 +6,7 @@ class MembersController < ApplicationController respond_to :html, :json, :rss def index - @sort = params[:sort] + @sort = params[:sort] || 'recently_joined' @members = members respond_to do |format| format.html # index.html.haml @@ -104,10 +104,10 @@ class MembersController < ApplicationController end def members - if @sort == 'recently_joined' - Member.recently_joined - else + if @sort == 'alpha' Member.order(:login_name) + else + Member.recently_joined end.kept.confirmed.paginate(page: params[:page]) end end diff --git a/app/views/members/index.html.haml b/app/views/members/index.html.haml index 2f37567e4..6421ef046 100644 --- a/app/views/members/index.html.haml +++ b/app/views/members/index.html.haml @@ -6,7 +6,7 @@ = bootstrap_form_tag(url: members_path, method: :get, layout: :inline) do |f| = f.select "sort", options_for_select({ "alphabetically": 'alpha', "recently joined": "recently_joined" }, - @sort || 'alpha'), + @sort || 'recently_joined'), label: 'Sort by' = f.submit "Show" diff --git a/spec/features/members/list_spec.rb b/spec/features/members/list_spec.rb index 341081179..3cd9acbff 100644 --- a/spec/features/members/list_spec.rb +++ b/spec/features/members/list_spec.rb @@ -14,25 +14,22 @@ describe "members list" do visit members_path end - it "default alphabetical sort" do + it "default recently joined sort" do expect(page).to have_css "#sort" expect(page).to have_css "form" + expect(subject.first).to have_text testingname.login_name + expect(subject.last).to have_text archaeopteryx.login_name + end + + it "alphabetical sort" do + expect(page).to have_css "#sort" + expect(page).to have_css "form" + select("alphabetically", from: 'sort') click_button('Show') # "Show" reloads the whole page. Wait for the new page before reading the list. expect(page).to have_current_path(/sort=alpha/) expect(subject.first).to have_text archaeopteryx.login_name expect(subject.last).to have_text zephyrosaurus.login_name end - - it "recently joined sort" do - expect(page).to have_css "#sort" - expect(page).to have_css "form" - select("recently", from: 'sort') - click_button('Show') - # "Show" reloads the whole page. Wait for the new page before reading the list. - expect(page).to have_current_path(/sort=recently_joined/) - expect(subject.first).to have_text testingname.login_name - expect(subject.last).to have_text archaeopteryx.login_name - end end end