diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb index 78a465572..b336a924a 100644 --- a/app/controllers/debates_controller.rb +++ b/app/controllers/debates_controller.rb @@ -83,7 +83,7 @@ class DebatesController < ApplicationController end def parse_order - @valid_orders = ['hot_score', 'created_at', 'score', 'most_commented', 'random'] + @valid_orders = ['confidence_score', 'hot_score', 'created_at', 'most_commented', 'random'] @order = @valid_orders.include?(params[:order]) ? params[:order] : @valid_orders.first end diff --git a/app/controllers/welcome_controller.rb b/app/controllers/welcome_controller.rb index ca3d04d68..6c1badca2 100644 --- a/app/controllers/welcome_controller.rb +++ b/app/controllers/welcome_controller.rb @@ -2,7 +2,7 @@ class WelcomeController < ApplicationController skip_authorization_check def index - @featured_debates = Debate.sort_by_hot_score.limit(3).for_render + @featured_debates = Debate.sort_by_confidence_score.limit(3).for_render set_debate_votes(@featured_debates) end diff --git a/config/locales/en.yml b/config/locales/en.yml index af4a29659..d0d0d42a5 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -71,9 +71,9 @@ en: select_order: Order by select_order_long: Order debates by orders: + confidence_score: best rated hot_score: most active created_at: newest - score: best rated most_commented: most commented random: random filter_topic: diff --git a/config/locales/es.yml b/config/locales/es.yml index f86723631..8dbeec62d 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -71,9 +71,9 @@ es: select_order: Ordenar por select_order_long: Estás viendo los debates orders: + confidence_score: "mejor valorados" hot_score: "más activos" created_at: "más nuevos" - score: "mejor valorados" most_commented: "más comentados" random: "aleatorio" filter_topic: diff --git a/spec/features/debates_spec.rb b/spec/features/debates_spec.rb index 1c8cdf6cc..330508e88 100644 --- a/spec/features/debates_spec.rb +++ b/spec/features/debates_spec.rb @@ -359,10 +359,10 @@ feature 'Debates' do feature 'Debate index order filters' do - scenario 'Default order is hot_score', :js do - create(:debate, title: 'best').update_column(:hot_score, 10) - create(:debate, title: 'worst').update_column(:hot_score, 2) - create(:debate, title: 'medium').update_column(:hot_score, 5) + scenario 'Default order is confidence_score', :js do + create(:debate, title: 'best').update_column(:confidence_score, 10) + create(:debate, title: 'worst').update_column(:confidence_score, 2) + create(:debate, title: 'medium').update_column(:confidence_score, 5) visit debates_path @@ -370,20 +370,20 @@ feature 'Debates' do expect('medium').to appear_before('worst') end - scenario 'Debates are ordered by best rated', :js do - create(:debate, title: 'best', cached_votes_score: 10) - create(:debate, title: 'medium', cached_votes_score: 5) - create(:debate, title: 'worst', cached_votes_score: 2) + scenario 'Debates are ordered by hot_score', :js do + create(:debate, title: 'best').update_column(:hot_score, 10) + create(:debate, title: 'worst').update_column(:hot_score, 2) + create(:debate, title: 'medium').update_column(:hot_score, 5) visit debates_path - select 'best rated', from: 'order-selector' + select 'most active', from: 'order-selector' - within '#debates.js-order-score' do + within '#debates.js-order-hot-score' do expect('best').to appear_before('medium') expect('medium').to appear_before('worst') end - expect(current_url).to include('order=score') + expect(current_url).to include('order=hot_score') end scenario 'Debates are ordered by most commented', :js do diff --git a/spec/features/home_spec.rb b/spec/features/home_spec.rb index fcad1ca24..ff87a294b 100644 --- a/spec/features/home_spec.rb +++ b/spec/features/home_spec.rb @@ -17,4 +17,15 @@ feature "Home" do end + scenario "Order by confidence score" do + create(:debate, confidence_score: 100, title: 'best') + create(:debate, confidence_score: -20, title: 'worst') + create(:debate, confidence_score: 50, title: 'medium') + + visit root_path + + expect('best').to appear_before('medium') + expect('medium').to appear_before('worst') + end + end