Files
nairobi/spec/features/budget_polls/budgets_spec.rb
Javi Martín 307cf24846 Use describe on feature tests
The `type: :feature` is automatically detected by RSpec because these
tests are inside the `spec/features` folder. Using `feature` re-adds a
`type: :feature` to these files, which will result in a conflict when we
upgrade to Rails 5.1's system tests.

Because of this change, we also need to change `background` to `before`
or else these tests will fail.
2019-05-28 16:36:54 +02:00

63 lines
1.5 KiB
Ruby

require "rails_helper"
describe "Admin Budgets" do
before do
admin = create(:administrator).user
login_as(admin)
end
context "Index" do
scenario "Create poll if the budget does not have a poll associated" do
budget = create(:budget)
visit admin_budgets_path
click_link "Admin ballots"
balloting_phase = budget.phases.where(kind: "balloting").first
expect(current_path).to match(/admin\/polls\/\d+/)
expect(page).to have_content(budget.name)
expect(page).to have_content(balloting_phase.starts_at.to_date)
expect(page).to have_content(balloting_phase.ends_at.to_date)
expect(Poll.count).to eq(1)
expect(Poll.last.budget).to eq(budget)
end
scenario "Display link to poll if the budget has a poll associated" do
budget = create(:budget)
poll = create(:poll, budget: budget)
visit admin_budgets_path
within "#budget_#{budget.id}" do
expect(page).to have_link("Admin ballots", admin_poll_path(poll))
end
end
end
context "Show" do
scenario "Do not show questions section if the budget have a poll associated" do
budget = create(:budget)
poll = create(:poll, budget: budget)
visit admin_poll_path(poll)
within "#poll-resources" do
expect(page).not_to have_content("Questions")
expect(page).to have_content("Booths")
expect(page).to have_content("Officers")
expect(page).to have_content("Recounting")
expect(page).to have_content("Results")
end
end
end
end