Files
nairobi/spec/components/admin/budgets/calculate_winners_button_component_spec.rb
2023-08-30 14:46:34 +02:00

65 lines
1.9 KiB
Ruby

require "rails_helper"
describe Admin::Budgets::CalculateWinnersButtonComponent, :admin do
let(:budget) { create(:budget) }
let(:component) { Admin::Budgets::CalculateWinnersButtonComponent.new(budget) }
it "renders when reviewing ballots" do
budget.update!(phase: "reviewing_ballots")
render_inline component
expect(page).to have_button "Calculate Winner Investments"
expect(page).not_to have_button "Recalculate Winner Investments"
end
it "does not render before balloting has finished" do
budget.update!(phase: "balloting")
render_inline component
expect(page).not_to have_button "Calculate Winner Investments"
expect(page).not_to have_button "Recalculate Winner Investments"
end
it "does not render after the budget process has finished" do
budget.update!(phase: "finished")
render_inline component
expect(page).not_to have_button "Calculate Winner Investments"
expect(page).not_to have_button "Recalculate Winner Investments"
end
context "budget with winners" do
before { create(:budget_investment, :winner, budget: budget) }
it "renders when reviewing ballots" do
budget.update!(phase: "reviewing_ballots")
render_inline component
expect(page).to have_button "Recalculate Winner Investments"
expect(page).not_to have_button "Calculate Winner Investments"
end
it "does not render before balloting has finished" do
budget.update!(phase: "balloting")
render_inline component
expect(page).not_to have_button "Calculate Winner Investments"
expect(page).not_to have_button "Recalculate Winner Investments"
end
it "does not render after the budget process has finished" do
budget.update!(phase: "finished")
render_inline component
expect(page).not_to have_button "Calculate Winner Investments"
expect(page).not_to have_button "Recalculate Winner Investments"
end
end
end