Makes hot_score the default order in proposals & debates
This commit is contained in:
@@ -2,7 +2,7 @@ class DebatesController < ApplicationController
|
|||||||
before_action :parse_tag_filter, only: :index
|
before_action :parse_tag_filter, only: :index
|
||||||
before_action :parse_search_terms, only: :index
|
before_action :parse_search_terms, only: :index
|
||||||
before_action :authenticate_user!, except: [:index, :show]
|
before_action :authenticate_user!, except: [:index, :show]
|
||||||
has_orders %w{confidence_score hot_score created_at most_commented random}, only: :index
|
has_orders %w{hot_score confidence_score created_at most_commented random}, only: :index
|
||||||
|
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ class ProposalsController < ApplicationController
|
|||||||
before_action :parse_tag_filter, only: :index
|
before_action :parse_tag_filter, only: :index
|
||||||
before_action :parse_search_terms, only: :index
|
before_action :parse_search_terms, only: :index
|
||||||
before_action :authenticate_user!, except: [:index, :show]
|
before_action :authenticate_user!, except: [:index, :show]
|
||||||
has_orders %w{confidence_score hot_score created_at most_commented random}, only: :index
|
has_orders %w{hot_score confidence_score created_at most_commented random}, only: :index
|
||||||
|
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
respond_to :html, :js
|
respond_to :html, :js
|
||||||
|
|||||||
@@ -389,10 +389,10 @@ feature 'Debates' do
|
|||||||
|
|
||||||
feature 'Debate index order filters' do
|
feature 'Debate index order filters' do
|
||||||
|
|
||||||
scenario 'Default order is confidence_score', :js do
|
scenario 'Default order is hot_score', :js do
|
||||||
create(:debate, title: 'Best').update_column(:confidence_score, 10)
|
create(:debate, title: 'Best').update_column(:hot_score, 10)
|
||||||
create(:debate, title: 'Worst').update_column(:confidence_score, 2)
|
create(:debate, title: 'Worst').update_column(:hot_score, 2)
|
||||||
create(:debate, title: 'Medium').update_column(:confidence_score, 5)
|
create(:debate, title: 'Medium').update_column(:hot_score, 5)
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
|
|
||||||
@@ -400,22 +400,22 @@ feature 'Debates' do
|
|||||||
expect('Medium').to appear_before('Worst')
|
expect('Medium').to appear_before('Worst')
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Debates are ordered by hot_score', :js do
|
scenario 'Debates are ordered by confidence_score', :js do
|
||||||
create(:debate, title: 'Best').update_column(:hot_score, 10)
|
create(:debate, title: 'Best').update_column(:confidence_score, 10)
|
||||||
create(:debate, title: 'Worst').update_column(:hot_score, 2)
|
create(:debate, title: 'Worst').update_column(:confidence_score, 2)
|
||||||
create(:debate, title: 'Medium').update_column(:hot_score, 5)
|
create(:debate, title: 'Medium').update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit debates_path
|
visit debates_path
|
||||||
select 'most active', from: 'order-selector'
|
select 'best rated', from: 'order-selector'
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="hot_score"]')
|
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||||
|
|
||||||
within '#debates' do
|
within '#debates' do
|
||||||
expect('Best').to appear_before('Medium')
|
expect('Best').to appear_before('Medium')
|
||||||
expect('Medium').to appear_before('Worst')
|
expect('Medium').to appear_before('Worst')
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=hot_score')
|
expect(current_url).to include('order=confidence_score')
|
||||||
expect(current_url).to include('page=1')
|
expect(current_url).to include('page=1')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -3,12 +3,12 @@ require 'rails_helper'
|
|||||||
feature 'Proposals' do
|
feature 'Proposals' do
|
||||||
|
|
||||||
scenario 'Index' do
|
scenario 'Index' do
|
||||||
proposal = [create(:proposal), create(:proposal), create(:proposal)]
|
proposals = [create(:proposal), create(:proposal), create(:proposal)]
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
|
|
||||||
expect(page).to have_selector('#proposals .proposal', count: 3)
|
expect(page).to have_selector('#proposals .proposal', count: 3)
|
||||||
proposal.each do |proposal|
|
proposals.each do |proposal|
|
||||||
within('#proposals') do
|
within('#proposals') do
|
||||||
expect(page).to have_content proposal.title
|
expect(page).to have_content proposal.title
|
||||||
expect(page).to have_css("a[href='#{proposal_path(proposal)}']", text: proposal.summary)
|
expect(page).to have_css("a[href='#{proposal_path(proposal)}']", text: proposal.summary)
|
||||||
@@ -440,10 +440,10 @@ feature 'Proposals' do
|
|||||||
|
|
||||||
feature 'Proposal index order filters' do
|
feature 'Proposal index order filters' do
|
||||||
|
|
||||||
scenario 'Default order is confidence_score', :js do
|
scenario 'Default order is hot_score', :js do
|
||||||
create(:proposal, title: 'Best proposal').update_column(:confidence_score, 10)
|
create(:proposal, title: 'Best proposal').update_column(:hot_score, 10)
|
||||||
create(:proposal, title: 'Worst proposal').update_column(:confidence_score, 2)
|
create(:proposal, title: 'Worst proposal').update_column(:hot_score, 2)
|
||||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
create(:proposal, title: 'Medium proposal').update_column(:hot_score, 5)
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
|
|
||||||
@@ -451,22 +451,22 @@ feature 'Proposals' do
|
|||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect('Medium proposal').to appear_before('Worst proposal')
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Proposals are ordered by hot_score', :js do
|
scenario 'Proposals are ordered by confidence_score', :js do
|
||||||
create(:proposal, title: 'Best proposal').update_column(:hot_score, 10)
|
create(:proposal, title: 'Best proposal').update_column(:confidence_score, 10)
|
||||||
create(:proposal, title: 'Worst proposal').update_column(:hot_score, 2)
|
create(:proposal, title: 'Worst proposal').update_column(:confidence_score, 2)
|
||||||
create(:proposal, title: 'Medium proposal').update_column(:hot_score, 5)
|
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
||||||
|
|
||||||
visit proposals_path
|
visit proposals_path
|
||||||
select 'most active', from: 'order-selector'
|
select 'best rated', from: 'order-selector'
|
||||||
|
|
||||||
expect(page).to have_selector('.js-order-selector[data-order="hot_score"]')
|
expect(page).to have_selector('.js-order-selector[data-order="confidence_score"]')
|
||||||
|
|
||||||
within '#proposals' do
|
within '#proposals' do
|
||||||
expect('Best proposal').to appear_before('Medium proposal')
|
expect('Best proposal').to appear_before('Medium proposal')
|
||||||
expect('Medium proposal').to appear_before('Worst proposal')
|
expect('Medium proposal').to appear_before('Worst proposal')
|
||||||
end
|
end
|
||||||
|
|
||||||
expect(current_url).to include('order=hot_score')
|
expect(current_url).to include('order=confidence_score')
|
||||||
expect(current_url).to include('page=1')
|
expect(current_url).to include('page=1')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user