Files
grecia/spec/system/budgets/groups_spec.rb
decabeza 4a9aae9806 Add groups index page
When render the investment list component with the link "see all
investments", now we redirect to groups index page when a budget has
multiple headings.
2021-08-09 21:45:29 +02:00

69 lines
2.1 KiB
Ruby

require "rails_helper"
describe "Budget Groups" do
let(:budget) { create(:budget, slug: "budget_slug") }
let!(:group) { create(:budget_group, slug: "group_slug", budget: budget) }
context "Load" do
scenario "finds group using budget slug and group slug" do
visit budget_group_path("budget_slug", "group_slug")
expect(page).to have_content "Select a heading"
end
scenario "finds group using budget id and group id" do
visit budget_group_path(budget, group)
expect(page).to have_content "Select a heading"
end
end
context "Show" do
scenario "Headings are sorted by name" do
last_heading = create(:budget_heading, group: group, name: "BBB")
first_heading = create(:budget_heading, group: group, name: "AAA")
visit budget_group_path(budget, group)
expect(first_heading.name).to appear_before(last_heading.name)
end
scenario "Links to investment filters" do
create(:budget_heading, group: group, name: "Southwest")
budget.update!(phase: "finished")
visit budget_group_path(budget, group)
click_link "See unfeasible investments"
expect(page).to have_css "h3", exact_text: "Unfeasible investments"
expect(page).to have_link "Southwest"
expect(page).not_to have_link "See unfeasible investments"
click_link "See investments not selected for balloting phase"
expect(page).to have_css "h3", exact_text: "Investments not selected for balloting phase"
expect(page).to have_link "Southwest"
expect(page).not_to have_link "See investments not selected for balloting phase unfeasible investments"
end
scenario "Back link" do
visit budget_group_path(budget, group)
click_link "Go back"
expect(page).to have_current_path budget_path(budget)
end
end
context "Index" do
scenario "Render headings" do
create(:budget_heading, group: group, name: "New heading name")
visit budget_groups_path(budget)
expect(page).to have_content "Select a heading"
expect(page).to have_link "New heading name"
expect(page).to have_link "Go back", href: budget_path(budget)
end
end
end