Before, users needed to navigate to the list of groups in order to add, edit or delete a group. Also, they need to navigate to the list of groups first, and then to the list of headings for that group in order to add, edit or delete a heading. Now, it's possible to do all these actions for any group or heading from the participatory budget view to bring simplicity and to reduce the number of clicks from a user perspective. Co-Authored-By: Javi Martín <javim@elretirao.net>
132 lines
4.2 KiB
Ruby
132 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: "Groups and headings" 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."
|
|
|
|
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") { 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."
|
|
|
|
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") { 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") { 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: "Groups and headings" do
|
|
within "section", text: "All city" do
|
|
within "tbody" do
|
|
expect(page).to have_css "tr", count: 1
|
|
expect(page).to have_content "All city"
|
|
end
|
|
end
|
|
|
|
within "section", text: "Districts" do
|
|
within "tbody" do
|
|
expect(page).to have_css "tr", count: 2
|
|
expect(page).to have_content "North"
|
|
expect(page).to have_content "South"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|