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_search_terms, only: :index
|
||||
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
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ class ProposalsController < ApplicationController
|
||||
before_action :parse_tag_filter, only: :index
|
||||
before_action :parse_search_terms, only: :index
|
||||
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
|
||||
respond_to :html, :js
|
||||
|
||||
@@ -389,10 +389,10 @@ feature 'Debates' do
|
||||
|
||||
feature 'Debate index order filters' do
|
||||
|
||||
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)
|
||||
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)
|
||||
|
||||
visit debates_path
|
||||
|
||||
@@ -400,22 +400,22 @@ feature 'Debates' do
|
||||
expect('Medium').to appear_before('Worst')
|
||||
end
|
||||
|
||||
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)
|
||||
scenario 'Debates are ordered by 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
|
||||
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
|
||||
expect('Best').to appear_before('Medium')
|
||||
expect('Medium').to appear_before('Worst')
|
||||
end
|
||||
|
||||
expect(current_url).to include('order=hot_score')
|
||||
expect(current_url).to include('order=confidence_score')
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@ require 'rails_helper'
|
||||
feature 'Proposals' do
|
||||
|
||||
scenario 'Index' do
|
||||
proposal = [create(:proposal), create(:proposal), create(:proposal)]
|
||||
proposals = [create(:proposal), create(:proposal), create(:proposal)]
|
||||
|
||||
visit proposals_path
|
||||
|
||||
expect(page).to have_selector('#proposals .proposal', count: 3)
|
||||
proposal.each do |proposal|
|
||||
proposals.each do |proposal|
|
||||
within('#proposals') do
|
||||
expect(page).to have_content proposal.title
|
||||
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
|
||||
|
||||
scenario 'Default order is confidence_score', :js do
|
||||
create(:proposal, title: 'Best proposal').update_column(:confidence_score, 10)
|
||||
create(:proposal, title: 'Worst proposal').update_column(:confidence_score, 2)
|
||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
||||
scenario 'Default order is hot_score', :js do
|
||||
create(:proposal, title: 'Best proposal').update_column(:hot_score, 10)
|
||||
create(:proposal, title: 'Worst proposal').update_column(:hot_score, 2)
|
||||
create(:proposal, title: 'Medium proposal').update_column(:hot_score, 5)
|
||||
|
||||
visit proposals_path
|
||||
|
||||
@@ -451,22 +451,22 @@ feature 'Proposals' do
|
||||
expect('Medium proposal').to appear_before('Worst proposal')
|
||||
end
|
||||
|
||||
scenario 'Proposals are ordered by hot_score', :js do
|
||||
create(:proposal, title: 'Best proposal').update_column(:hot_score, 10)
|
||||
create(:proposal, title: 'Worst proposal').update_column(:hot_score, 2)
|
||||
create(:proposal, title: 'Medium proposal').update_column(:hot_score, 5)
|
||||
scenario 'Proposals are ordered by confidence_score', :js do
|
||||
create(:proposal, title: 'Best proposal').update_column(:confidence_score, 10)
|
||||
create(:proposal, title: 'Worst proposal').update_column(:confidence_score, 2)
|
||||
create(:proposal, title: 'Medium proposal').update_column(:confidence_score, 5)
|
||||
|
||||
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
|
||||
expect('Best proposal').to appear_before('Medium proposal')
|
||||
expect('Medium proposal').to appear_before('Worst proposal')
|
||||
end
|
||||
|
||||
expect(current_url).to include('order=hot_score')
|
||||
expect(current_url).to include('order=confidence_score')
|
||||
expect(current_url).to include('page=1')
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user