diff --git a/spec/features/admin/budget_investments_spec.rb b/spec/features/admin/budget_investments_spec.rb index c899748dc..5bfa0c897 100644 --- a/spec/features/admin/budget_investments_spec.rb +++ b/spec/features/admin/budget_investments_spec.rb @@ -686,6 +686,7 @@ feature 'Admin budget investments' do let!(:feasible_vf_bi) { create(:budget_investment, :feasible, :finished, budget: @budget, title: "Feasible, VF project") } let!(:selected_bi) { create(:budget_investment, :selected, budget: @budget, title: "Selected project") } let!(:winner_bi) { create(:budget_investment, :winner, budget: @budget, title: "Winner project") } + let!(:undecided_bi) { create(:budget_investment, :undecided, budget: @budget, title: "Undecided project") } scenario "Filtering by valuation and selection", :js do visit admin_budget_budget_investments_path(@budget) @@ -698,7 +699,7 @@ feature 'Admin budget investments' do expect(page).to have_content(winner_bi.title) click_link 'Advanced filters' - within('#advanced_filters') { find(:css, "#second_filter[value='feasible']").set(true) } + within('#advanced_filters') { find(:css, "#advanced_filters_[value='feasible']").set(true) } click_button 'Filter' expect(page).not_to have_content(unfeasible_bi.title) @@ -707,7 +708,8 @@ feature 'Admin budget investments' do expect(page).to have_content(selected_bi.title) expect(page).to have_content(winner_bi.title) - within('#advanced_filters') { find(:css, "#second_filter[value='selected']").set(true) } + within('#advanced_filters') { find(:css, "#advanced_filters_[value='selected']").set(true) } + within('#advanced_filters') { find(:css, "#advanced_filters_[value='feasible']").set(false) } click_button 'Filter' expect(page).not_to have_content(unfeasible_bi.title) @@ -724,6 +726,31 @@ feature 'Admin budget investments' do expect(page).to have_content(winner_bi.title) end + scenario "Aggregating results", :js do + visit admin_budget_budget_investments_path(@budget) + + click_link 'Advanced filters' + within('#advanced_filters') { find(:css, "#advanced_filters_[value='undecided']").set(true) } + click_button 'Filter' + + expect(page).to have_content(undecided_bi.title) + expect(page).not_to have_content(winner_bi.title) + expect(page).not_to have_content(selected_bi.title) + expect(page).not_to have_content(feasible_bi.title) + expect(page).not_to have_content(unfeasible_bi.title) + expect(page).not_to have_content(feasible_vf_bi.title) + + within('#advanced_filters') { find(:css, "#advanced_filters_[value='unfeasible']").set(true) } + click_button 'Filter' + + expect(page).to have_content(undecided_bi.title) + expect(page).to have_content(unfeasible_bi.title) + expect(page).not_to have_content(winner_bi.title) + expect(page).not_to have_content(selected_bi.title) + expect(page).not_to have_content(feasible_bi.title) + expect(page).not_to have_content(feasible_vf_bi.title) + end + scenario "Showing the selection buttons", :js do visit admin_budget_budget_investments_path(@budget) @@ -757,7 +784,7 @@ feature 'Admin budget investments' do end click_link 'Advanced filters' - within('#advanced_filters') { find(:css, "#second_filter[value='selected']").set(true) } + within('#advanced_filters') { find(:css, "#advanced_filters_[value='selected']").set(true) } click_button 'Filter' within("#budget_investment_#{feasible_vf_bi.id}") do @@ -769,7 +796,7 @@ feature 'Admin budget investments' do scenario "Unselecting an investment", :js do visit admin_budget_budget_investments_path(@budget) click_link 'Advanced filters' - within('#advanced_filters') { find(:css, "#second_filter[value='selected']").set(true) } + within('#advanced_filters') { find(:css, "#advanced_filters_[value='selected']").set(true) } click_button 'Filter' expect(page).to have_content('There are 2 investments')