Extract component for budget actions

We can omit passing a parameter to the helper method thanks to that, and
we group related code together.
This commit is contained in:
Javi Martín
2020-06-30 19:08:12 +02:00
parent 1537f25739
commit 02e27e13dc
5 changed files with 63 additions and 23 deletions

View File

@@ -0,0 +1,30 @@
require "rails_helper"
describe Admin::Budgets::TableActionsComponent, type: :component do
let(:budget) { create(:budget) }
let(:component) { Admin::Budgets::TableActionsComponent.new(budget) }
it "renders links to edit budget, manage investments and edit groups and manage ballots" do
render_inline component
expect(page).to have_css "a", count: 4
expect(page).to have_link "Manage projects", href: /investments/
expect(page).to have_link "Edit headings groups", href: /groups/
expect(page).to have_link "Edit budget", href: /edit/
expect(page).to have_link "Admin ballots"
end
it "renders link to create new poll for budgets without polls" do
render_inline component
expect(page).to have_css "a[href*='polls'][data-method='post']", text: "Admin ballots"
end
it "renders link to manage ballots for budgets with polls" do
budget.poll = create(:poll, budget: budget)
render_inline component
expect(page).to have_link "Admin ballots", href: /booth_assignments/
end
end