Simplify adding investments to ballots in specs
This commit is contained in:
@@ -13,11 +13,8 @@ describe Budget::Ballot do
|
||||
|
||||
it "is not valid with the same investment twice" do
|
||||
budget = create(:budget)
|
||||
heading = create(:budget_heading, budget: budget)
|
||||
investment = create(:budget_investment, :selected, heading: heading)
|
||||
|
||||
ballot = create(:budget_ballot, budget: budget)
|
||||
ballot.investments << investment
|
||||
investment = create(:budget_investment, :selected, budget: budget)
|
||||
ballot = create(:budget_ballot, budget: budget.reload, investments: [investment])
|
||||
|
||||
expect { ballot.investments << investment }.to raise_error(ActiveRecord::RecordNotUnique)
|
||||
end
|
||||
@@ -103,16 +100,14 @@ describe Budget::Ballot do
|
||||
|
||||
it "returns the heading with balloted investments for a group" do
|
||||
budget = create(:budget)
|
||||
ballot = create(:budget_ballot, budget: budget)
|
||||
group = create(:budget_group, budget: budget)
|
||||
|
||||
heading1 = create(:budget_heading, group: group)
|
||||
heading2 = create(:budget_heading, group: group)
|
||||
|
||||
inv1 = create(:budget_investment, :selected, heading: heading1)
|
||||
inv2 = create(:budget_investment, :selected, heading: heading2)
|
||||
|
||||
ballot = create(:budget_ballot, budget: budget)
|
||||
ballot.investments << inv2
|
||||
create(:budget_investment, :selected, heading: heading1)
|
||||
create(:budget_investment, :selected, heading: heading2, ballots: [ballot])
|
||||
|
||||
expect(ballot.heading_for_group(group)).to eq heading2
|
||||
end
|
||||
|
||||
@@ -976,8 +976,7 @@ describe Budget::Investment do
|
||||
|
||||
inv1 = create(:budget_investment, :selected, budget: budget, heading: california)
|
||||
inv2 = create(:budget_investment, :selected, budget: budget, heading: new_york)
|
||||
ballot = create(:budget_ballot, user: user, budget: budget)
|
||||
ballot.investments << inv1
|
||||
ballot = create(:budget_ballot, user: user, budget: budget, investments: [inv1])
|
||||
|
||||
expect(inv2.reason_for_not_being_ballotable_by(user, ballot)).to eq(:different_heading_assigned_html)
|
||||
end
|
||||
@@ -989,8 +988,7 @@ describe Budget::Investment do
|
||||
inv1 = create(:budget_investment, :selected, budget: budget, heading: carabanchel, price: 30)
|
||||
inv2 = create(:budget_investment, :selected, budget: budget, heading: carabanchel, price: 10)
|
||||
|
||||
ballot = create(:budget_ballot, user: user, budget: budget)
|
||||
ballot.investments << inv1
|
||||
ballot = create(:budget_ballot, user: user, budget: budget, investments: [inv1])
|
||||
|
||||
expect(inv2.reason_for_not_being_ballotable_by(user, ballot)).to eq(:not_enough_money_html)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user