Show selected legislation proposals by default
This commit is contained in:
@@ -93,6 +93,8 @@ class Legislation::ProcessesController < Legislation::BaseController
|
|||||||
|
|
||||||
@proposals = ::Legislation::Proposal.where(process: @process)
|
@proposals = ::Legislation::Proposal.where(process: @process)
|
||||||
@proposals = @proposals.search(params[:search]) if params[:search].present?
|
@proposals = @proposals.search(params[:search]) if params[:search].present?
|
||||||
|
|
||||||
|
@current_filter = "winners" if params[:filter].blank? && @proposals.winners.any?
|
||||||
@proposals = @proposals.send(@current_filter).page(params[:page])
|
@proposals = @proposals.send(@current_filter).page(params[:page])
|
||||||
|
|
||||||
if @process.proposals_phase.started? || (current_user && current_user.administrator?)
|
if @process.proposals_phase.started? || (current_user && current_user.administrator?)
|
||||||
|
|||||||
@@ -64,23 +64,47 @@ feature 'Legislation Proposals' do
|
|||||||
expect(legislation_proposals_order).to eq(first_page_proposals_order)
|
expect(legislation_proposals_order).to eq(first_page_proposals_order)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Selected filter apperars even if there are not any selected poposals' do
|
context 'Selected filter' do
|
||||||
create(:legislation_proposal, legislation_process_id: process.id)
|
scenario 'apperars even if there are not any selected poposals' do
|
||||||
|
create(:legislation_proposal, legislation_process_id: process.id)
|
||||||
|
|
||||||
visit legislation_process_proposals_path(process)
|
visit legislation_process_proposals_path(process)
|
||||||
|
|
||||||
expect(page).to have_content('Selected')
|
expect(page).to have_content('Selected')
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario 'Selected filter works correctly' do
|
scenario 'defaults to winners if there are selected proposals' do
|
||||||
proposal1 = create(:legislation_proposal, legislation_process_id: process.id)
|
create(:legislation_proposal, legislation_process_id: process.id)
|
||||||
proposal2 = create(:legislation_proposal, legislation_process_id: process.id, selected: true)
|
create(:legislation_proposal, legislation_process_id: process.id, selected: true)
|
||||||
visit legislation_process_proposals_path(process)
|
|
||||||
|
|
||||||
click_link 'Selected'
|
visit legislation_process_proposals_path(process)
|
||||||
|
|
||||||
expect(page).to have_css("div#legislation_proposal_#{proposal2.id}")
|
expect(page).to have_link('Random')
|
||||||
expect(page).not_to have_css("div#legislation_proposal_#{proposal1.id}")
|
expect(page).not_to have_link('Selected')
|
||||||
|
expect(page).to have_content('Selected')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'defaults to random if the current process does not have selected proposals' do
|
||||||
|
create(:legislation_proposal, legislation_process_id: process.id)
|
||||||
|
create(:legislation_proposal, selected: true)
|
||||||
|
|
||||||
|
visit legislation_process_proposals_path(process)
|
||||||
|
|
||||||
|
expect(page).to have_link('Selected')
|
||||||
|
expect(page).not_to have_link('Random')
|
||||||
|
expect(page).to have_content('Random')
|
||||||
|
end
|
||||||
|
|
||||||
|
scenario 'filters correctly' do
|
||||||
|
proposal1 = create(:legislation_proposal, legislation_process_id: process.id)
|
||||||
|
proposal2 = create(:legislation_proposal, legislation_process_id: process.id, selected: true)
|
||||||
|
visit legislation_process_proposals_path(process, filter: "random")
|
||||||
|
|
||||||
|
click_link 'Selected'
|
||||||
|
|
||||||
|
expect(page).to have_css("div#legislation_proposal_#{proposal2.id}")
|
||||||
|
expect(page).not_to have_css("div#legislation_proposal_#{proposal1.id}")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def legislation_proposals_order
|
def legislation_proposals_order
|
||||||
|
|||||||
Reference in New Issue
Block a user