diff --git a/app/models/proposal.rb b/app/models/proposal.rb index fc3d10738..7bd4b7a92 100644 --- a/app/models/proposal.rb +++ b/app/models/proposal.rb @@ -44,7 +44,7 @@ class Proposal < ActiveRecord::Base scope :sort_by_random, -> { reorder("RANDOM()") } scope :sort_by_relevance, -> { all } scope :sort_by_flags, -> { order(flags_count: :desc, updated_at: :desc) } - scope :sort_by_archival_date, -> { archived.order(created_at: :desc) } + scope :sort_by_archival_date, -> { archived.sort_by_confidence_score } scope :archived, -> { where("proposals.created_at <= ?", Setting["months_to_archive_proposals"].to_i.months.ago)} scope :not_archived, -> { where("proposals.created_at > ?", Setting["months_to_archive_proposals"].to_i.months.ago)} scope :last_week, -> { where("proposals.created_at >= ?", 7.days.ago)} diff --git a/spec/features/proposals_spec.rb b/spec/features/proposals_spec.rb index 9149531fd..0573ea334 100644 --- a/spec/features/proposals_spec.rb +++ b/spec/features/proposals_spec.rb @@ -765,6 +765,21 @@ feature 'Proposals' do end end + scenario "Order by votes" do + create(:proposal, :archived, title: "Least voted").update_column(:confidence_score, 10) + create(:proposal, :archived, title: "Most voted").update_column(:confidence_score, 50) + create(:proposal, :archived, title: "Some votes").update_column(:confidence_score, 25) + + visit proposals_path + click_link 'Archived' + + within("#proposals-list") do + expect(all(".proposal")[0].text).to match "Most voted" + expect(all(".proposal")[1].text).to match "Some votes" + expect(all(".proposal")[2].text).to match "Least voted" + end + end + end context "Search" do