From 7d4d9b0eade7f98b779258ddd9e878eecdb9a1b6 Mon Sep 17 00:00:00 2001 From: rgarcia Date: Fri, 16 Sep 2016 19:42:18 +0200 Subject: [PATCH] sorts archived proposals by votes --- app/models/proposal.rb | 2 +- spec/features/proposals_spec.rb | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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