Files
grecia/spec/features/budget_polls/budgets_spec.rb
2019-09-10 20:02:15 +02:00

80 lines
2.1 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 "Create poll in current locale if the budget does not have a poll associated", :js do
budget = create(:budget,
name_en: "Budget for climate change",
name_fr: "Budget pour le changement climatique")
visit admin_budgets_path
select("Français", from: "locale-switcher")
click_link "Bulletins de ladmin"
expect(current_path).to match(/admin\/polls\/\d+/)
expect(page).to have_content("Budget pour le changement climatique")
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