Files
grecia/spec/system/admin/budgets_wizard/wizard_spec.rb
Matheus Miranda de13e789dd Add polygon geographies to Budgets' map
Note that in the budgets wizard test we now create district with no
associated geozone, so the text "all city" will appear in the districts
table too, meaning we can't use `within "section", text: "All city" do`
anymore since it would result in an ambiguous match.

Co-Authored-By: Julian Herrero <microweb10@gmail.com>
Co-Authored-By: Javi Martín <javim@elretirao.net>
2023-05-31 16:56:15 +02:00

128 lines
4.2 KiB
Ruby

require "rails_helper"
describe "Budgets creation wizard", :admin do
scenario "Creation of a single-heading budget by steps" do
visit admin_budgets_path
click_button "Create new budget"
click_link "Create single heading budget"
fill_in "Name", with: "Single heading budget"
click_button "Continue to groups"
expect(page).to have_content "New participatory budget created successfully!"
expect(page).to have_field "Group name", with: "Single heading budget"
click_button "Continue to headings"
expect(page).to have_content "Group created successfully"
fill_in "Heading name", with: "One and only heading"
fill_in "Money amount", with: "1000000"
click_button "Continue to phases"
expect(page).to have_css ".budget-phases-table"
click_link "Finish"
within "section", text: "Heading groups" do
expect(page).to have_content "Single heading budget"
within "tbody" do
expect(page).to have_content "One and only heading"
end
end
end
scenario "Creation of a multiple-headings budget by steps" do
visit admin_budgets_path
click_button "Create new budget"
click_link "Create multiple headings budget"
fill_in "Name", with: "Multiple headings budget"
click_button "Continue to groups"
expect(page).to have_content "New participatory budget created successfully!"
expect(page).to have_content "There are no groups."
click_button "Add new group"
fill_in "Group name", with: "All city"
click_button "Create new group"
expect(page).to have_content "Group created successfully!"
within("table") { expect(page).to have_content "All city" }
expect(page).not_to have_content "There are no groups."
click_button "Add new group"
fill_in "Group name", with: "Districts"
click_button "Create new group"
expect(page).to have_content "Group created successfully!"
within("table") { expect(page).to have_content "Districts" }
click_link "Continue to headings"
expect(page).to have_content "Showing headings from the All city group"
expect(page).to have_content "There are no headings in the All city group."
click_button "Add new heading"
fill_in "Heading name", with: "All city"
fill_in "Money amount", with: "1000000"
click_button "Create new heading"
expect(page).to have_content "Heading created successfully!"
within_table("Headings in All city") { expect(page).to have_content "All city" }
expect(page).not_to have_content "There are no headings"
click_link "Manage headings from the Districts group."
expect(page).to have_content "There are no headings in the Districts group."
click_button "Add new heading"
fill_in "Heading name", with: "North"
fill_in "Money amount", with: "500000"
click_button "Create new heading"
expect(page).to have_content "Heading created successfully!"
within_table("Headings in Districts") { expect(page).to have_content "North" }
expect(page).not_to have_content "There are no headings"
click_button "Add new heading"
fill_in "Heading name", with: "South"
fill_in "Money amount", with: "500000"
click_button "Create new heading"
expect(page).to have_content "Heading created successfully!"
within_table("Headings in Districts") { expect(page).to have_content "South" }
click_link "Continue to phases"
expect(page).to have_css ".budget-phases-table"
within("tr", text: "Voting projects") { click_link "Edit" }
fill_in "Name", with: "Custom phase name"
uncheck "Phase enabled"
click_button "Save changes"
expect(page).to have_content "Changes saved"
within "table" do
expect(page).to have_content "Custom phase name"
expect(page).not_to have_content "Voting projects"
end
click_link "Finish"
within "section", text: "Heading groups" do
within_table "Headings in All city" do
expect(page).to have_css "tbody tr", count: 1
expect(page).to have_content "All city"
end
within_table "Headings in Districts" do
expect(page).to have_css "tbody tr", count: 2
expect(page).to have_content "North"
expect(page).to have_content "South"
end
end
end
end