Return the persisted line in add_investment
This method was returning a boolean value and caused a `Naming/PredicateMethod` when upgrading rubocop. So, instead, we're returning the created line when it was successfully created, and `nil` when it wasn't. Having said that, I'm not sure why we added the `.persisted?` back in commit3eb22ab7bsince as far as I can tell we don't use the return value for anything. The test added in commitda43e9e2efor this change passes if we simply return `lines.create(investment: investment)`. For now I'm leaving the `persisted?` check just in case, but removing it might be fine.
This commit is contained in:
@@ -53,43 +53,43 @@ describe Poll::Ballot do
|
||||
describe "Money" do
|
||||
it "is not valid if insufficient funds" do
|
||||
investment.update!(price: heading.price + 1)
|
||||
expect(poll_ballot.add_investment(investment.id)).to be false
|
||||
expect(poll_ballot.add_investment(investment.id)).to be nil
|
||||
end
|
||||
|
||||
it "is valid if sufficient funds" do
|
||||
investment.update!(price: heading.price - 1)
|
||||
expect(poll_ballot.add_investment(investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(investment.id)).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
describe "Heading" do
|
||||
it "is not valid if investment heading is not valid" do
|
||||
expect(poll_ballot.add_investment(investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(investment.id)).to be_truthy
|
||||
|
||||
other_heading = create(:budget_heading, group: group, price: 10000000)
|
||||
other_investment = create(:budget_investment, :selected, price: 1000000, heading: other_heading)
|
||||
|
||||
expect(poll_ballot.add_investment(other_investment.id)).to be false
|
||||
expect(poll_ballot.add_investment(other_investment.id)).to be nil
|
||||
end
|
||||
|
||||
it "is valid if investment heading is valid" do
|
||||
expect(poll_ballot.add_investment(investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(investment.id)).to be_truthy
|
||||
|
||||
other_investment = create(:budget_investment, :selected, price: 1000000, heading: heading)
|
||||
|
||||
expect(poll_ballot.add_investment(other_investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(other_investment.id)).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
describe "Selectibility" do
|
||||
it "is not valid if investment is unselected" do
|
||||
investment.update!(selected: false)
|
||||
expect(poll_ballot.add_investment(investment.id)).to be false
|
||||
expect(poll_ballot.add_investment(investment.id)).to be nil
|
||||
end
|
||||
|
||||
it "is valid if investment is selected" do
|
||||
investment.update!(selected: true, price: 20000)
|
||||
expect(poll_ballot.add_investment(investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(investment.id)).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
@@ -101,7 +101,7 @@ describe Poll::Ballot do
|
||||
end
|
||||
|
||||
it "is valid if investment belongs to the poll's budget" do
|
||||
expect(poll_ballot.add_investment(investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(investment.id)).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
@@ -112,7 +112,7 @@ describe Poll::Ballot do
|
||||
end
|
||||
|
||||
it "is valid if does not already exist" do
|
||||
expect(poll_ballot.add_investment(investment.id)).to be true
|
||||
expect(poll_ballot.add_investment(investment.id)).to be_truthy
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user