Refactor tests to interact directly with the UI rather than with the DOM

This commit is contained in:
Angel Perez
2018-03-15 15:24:23 -04:00
parent fa9da9d573
commit 601391954a

View File

@@ -517,8 +517,8 @@ feature 'Admin budget investments' do
click_link 'Advanced filters'
page.check('advanced_filters_feasible')
click_button "Filter"
within('#advanced_filters') { check('advanced_filters_feasible') }
click_button('Filter')
expect(page).to have_css(".budget_investment", count: 2)
expect(page).to have_content("Educate the children")
@@ -537,7 +537,6 @@ feature 'Admin budget investments' do
expect(page).not_to have_content("More hostals")
expect(page).to have_content('Selected')
end
scenario "See results button appears when budget status is finished" do
@@ -967,8 +966,9 @@ feature 'Admin budget investments' do
expect(page).to have_content(winner_bi.title)
click_link 'Advanced filters'
within('#advanced_filters') { find(:css, "#advanced_filters_feasible").set(true) }
click_button 'Filter'
within('#advanced_filters') { check('advanced_filters_feasible') }
click_button('Filter')
expect(page).not_to have_content(unfeasible_bi.title)
expect(page).not_to have_content(feasible_bi.title)
@@ -976,9 +976,12 @@ 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, "#advanced_filters_selected").set(true) }
within('#advanced_filters') { find(:css, "#advanced_filters_feasible").set(false) }
click_button 'Filter'
within('#advanced_filters') do
check('advanced_filters_selected')
uncheck('advanced_filters_feasible')
end
click_button('Filter')
expect(page).not_to have_content(unfeasible_bi.title)
expect(page).not_to have_content(feasible_bi.title)
@@ -998,8 +1001,9 @@ feature 'Admin budget investments' do
visit admin_budget_budget_investments_path(budget)
click_link 'Advanced filters'
within('#advanced_filters') { find(:css, "#advanced_filters_undecided").set(true) }
click_button 'Filter'
within('#advanced_filters') { check('advanced_filters_undecided') }
click_button('Filter')
expect(page).to have_content(undecided_bi.title)
expect(page).not_to have_content(winner_bi.title)
@@ -1008,8 +1012,8 @@ feature 'Admin budget investments' do
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_unfeasible").set(true) }
click_button 'Filter'
within('#advanced_filters') { check('advanced_filters_unfeasible') }
click_button('Filter')
expect(page).to have_content(undecided_bi.title)
expect(page).to have_content(unfeasible_bi.title)
@@ -1052,8 +1056,9 @@ feature 'Admin budget investments' do
end
click_link 'Advanced filters'
within('#advanced_filters') { find(:css, "#advanced_filters_selected").set(true) }
click_button 'Filter'
within('#advanced_filters') { check('advanced_filters_selected') }
click_button('Filter')
within("#budget_investment_#{feasible_vf_bi.id}") do
expect(page).not_to have_link('Select')
@@ -1065,9 +1070,8 @@ feature 'Admin budget investments' do
visit admin_budget_budget_investments_path(budget)
click_link 'Advanced filters'
within('#advanced_filters') { find(:css, "#advanced_filters_selected").set(true) }
click_button 'Filter'
within('#advanced_filters') { check('advanced_filters_selected') }
click_button('Filter')
expect(page).to have_content('There are 2 investments')