Add spec to test aggregation when filtering investments

This commit is contained in:
Angel Perez
2018-01-30 21:00:34 -04:00
parent 1f50e284a9
commit 137aa7e779

View File

@@ -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')