Files
grecia/spec/components/budgets/investments/my_ballot_component_spec.rb
CoslaJohn c4d8c92ae2 Change the order in which votes are displayed to be in the order they were selected by the voter
Note that the `budget` parameter was added to the `delete_path` method
so it works in the tests; on production, it worked because this
component is only rendered on pages which already have the `budget`
parameter.

Co-authored-by: Javi Martín <javim@elretirao.net>
2024-04-04 18:47:03 +02:00

29 lines
847 B
Ruby

require "rails_helper"
describe Budgets::Investments::MyBallotComponent do
let(:user) { create(:user, :level_two) }
let(:budget) { create(:budget, :balloting) }
let(:ballot) { create(:budget_ballot, user: user, budget: budget) }
let(:heading) { create(:budget_heading, budget: budget) }
before do
vc_test_request.session[:ballot_referer] = "/"
sign_in(user)
end
it "sorts investments by ballot lines" do
["B letter", "A letter", "C letter"].each do |title|
ballot.add_investment(create(:budget_investment, :selected, heading: heading, title: title))
end
render_inline Budgets::Investments::MyBallotComponent.new(
ballot: ballot,
heading: heading,
investment_ids: []
)
expect("B letter").to appear_before "A letter"
expect("A letter").to appear_before "C letter"
end
end