removes archived proposals from index/search pages
This commit is contained in:
@@ -26,6 +26,7 @@ class ProposalsController < ApplicationController
|
||||
end
|
||||
|
||||
def index_customization
|
||||
discard_archived
|
||||
load_retired
|
||||
load_featured
|
||||
end
|
||||
@@ -80,6 +81,10 @@ class ProposalsController < ApplicationController
|
||||
@featured_proposals_votes = current_user ? current_user.proposal_votes(proposals) : {}
|
||||
end
|
||||
|
||||
def discard_archived
|
||||
@resources = @resources.not_archived unless @current_order == "archival_date"
|
||||
end
|
||||
|
||||
def load_retired
|
||||
if params[:retired].present?
|
||||
@resources = @resources.retired
|
||||
|
||||
@@ -3,7 +3,8 @@ require 'rails_helper'
|
||||
|
||||
feature 'Proposals' do
|
||||
|
||||
scenario 'Index' do
|
||||
context 'Index' do
|
||||
scenario 'Lists featured and regular proposals' do
|
||||
featured_proposals = create_featured_proposals
|
||||
proposals = [create(:proposal), create(:proposal), create(:proposal)]
|
||||
|
||||
@@ -27,7 +28,7 @@ feature 'Proposals' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Paginated Index' do
|
||||
scenario 'Pagination' do
|
||||
per_page = Kaminari.config.default_per_page
|
||||
(per_page + 5).times { create(:proposal) }
|
||||
|
||||
@@ -44,6 +45,7 @@ feature 'Proposals' do
|
||||
|
||||
expect(page).to have_selector('#proposals .proposal', count: 2)
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Show' do
|
||||
proposal = create(:proposal)
|
||||
@@ -678,7 +680,7 @@ feature 'Proposals' do
|
||||
|
||||
feature 'Archived proposals' do
|
||||
|
||||
scenario 'Show on archived tab' do
|
||||
scenario 'show on archived tab' do
|
||||
create_featured_proposals
|
||||
archived_proposals = create_archived_proposals
|
||||
|
||||
@@ -692,11 +694,31 @@ feature 'Proposals' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Do not show support buttons in index' do
|
||||
scenario 'do not show in other index tabs' do
|
||||
create_featured_proposals
|
||||
archived_proposal = create(:proposal, :archived)
|
||||
|
||||
visit proposals_path
|
||||
|
||||
within("#proposals-list") do
|
||||
expect(page).to_not have_content archived_proposal.title
|
||||
end
|
||||
|
||||
orders = %w{hot_score confidence_score created_at relevance}
|
||||
orders.each do |order|
|
||||
visit proposals_path(order: order)
|
||||
|
||||
within("#proposals-list") do
|
||||
expect(page).to_not have_content archived_proposal.title
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'do not show support buttons in index' do
|
||||
create_featured_proposals
|
||||
archived_proposals = create_archived_proposals
|
||||
|
||||
visit proposals_path
|
||||
visit proposals_path(order: 'archival_date')
|
||||
|
||||
within("#proposals-list") do
|
||||
archived_proposals.each do |proposal|
|
||||
@@ -708,16 +730,13 @@ feature 'Proposals' do
|
||||
end
|
||||
end
|
||||
|
||||
scenario 'Do not show support buttons in show' do
|
||||
create_featured_proposals
|
||||
archived_proposals = create_archived_proposals
|
||||
scenario 'do not show support buttons in show' do
|
||||
archived_proposal = create(:proposal, :archived)
|
||||
|
||||
archived_proposals.each do |proposal|
|
||||
visit proposal_path(proposal)
|
||||
visit proposal_path(archived_proposal)
|
||||
expect(page).to_not have_css(".supports")
|
||||
expect(page).to have_content "This proposal has been archived and can't collect supports"
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user