diff --git a/spec/models/budget/ballot/line_spec.rb b/spec/models/budget/ballot/line_spec.rb index 885998eb1..7ce4dcbf7 100644 --- a/spec/models/budget/ballot/line_spec.rb +++ b/spec/models/budget/ballot/line_spec.rb @@ -6,7 +6,7 @@ describe "Budget::Ballot::Line" do let(:budget){ create(:budget) } let(:group){ create(:budget_group, budget: budget) } let(:heading){ create(:budget_heading, group: group, price: 10000000) } - let(:investment){ create(:budget_investment, :feasible, price: 5000000, heading: heading) } + let(:investment){ create(:budget_investment, :selected, price: 5000000, heading: heading) } let(:ballot) { create(:budget_ballot, budget: budget) } let(:ballot_line) { build(:budget_ballot_line, ballot: ballot, investment: investment) } @@ -29,19 +29,14 @@ describe "Budget::Ballot::Line" do end end - describe 'Feasibility' do - it "should not be valid if investment is unfeasible" do - investment.update(feasibility: "unfeasible") + describe 'Selectibility' do + it "should not be valid if investment is unselected" do + investment.update(selected: false) expect(ballot_line).to_not be_valid end - it "should not be valid if investment feasibility is undecided" do - investment.update(feasibility: "undecided", price: 20000) - expect(ballot_line).to_not be_valid - end - - it "should be valid if investment is feasible" do - investment.update(feasibility: "feasible", price: 20000) + it "should be valid if investment is selected" do + investment.update(selected: true, price: 20000) expect(ballot_line).to be_valid end end diff --git a/spec/models/budget/ballot_spec.rb b/spec/models/budget/ballot_spec.rb index 97fa966fc..e99a2276d 100644 --- a/spec/models/budget/ballot_spec.rb +++ b/spec/models/budget/ballot_spec.rb @@ -9,15 +9,15 @@ describe Budget::Ballot do group2 = create(:budget_group, budget: budget) heading1 = create(:budget_heading, group: group1, price: 100000) heading2 = create(:budget_heading, group: group2, price: 200000) - inv1 = create(:budget_investment, :feasible, price: 10000, heading: heading1) - inv2 = create(:budget_investment, :feasible, price: 20000, heading: heading2) + inv1 = create(:budget_investment, :selected, price: 10000, heading: heading1) + inv2 = create(:budget_investment, :selected, price: 20000, heading: heading2) ballot = create(:budget_ballot, budget: budget) - ballot.add_investment inv1 + ballot.investments << inv1 expect(ballot.total_amount_spent).to eq 10000 - ballot.add_investment inv2 + ballot.investments << inv2 expect(ballot.total_amount_spent).to eq 30000 end @@ -25,17 +25,16 @@ describe Budget::Ballot do it "returns the amount spent on all investments assigned to a specific heading" do heading = create(:budget_heading) budget = heading.group.budget - inv1 = create(:budget_investment, :feasible, price: 10000, heading: heading) - inv2 = create(:budget_investment, :feasible, price: 20000, heading: create(:budget_heading, group: heading.group)) - inv3 = create(:budget_investment, :feasible, price: 40000, heading: heading) + inv1 = create(:budget_investment, :selected, price: 10000, heading: heading) + inv2 = create(:budget_investment, :selected, price: 20000, heading: create(:budget_heading, group: heading.group)) + inv3 = create(:budget_investment, :selected, price: 40000, heading: heading) ballot = create(:budget_ballot, budget: budget) - ballot.add_investment inv1 - ballot.add_investment inv2 + ballot.investments << inv1 << inv2 expect(ballot.amount_spent(heading)).to eq 10000 - ballot.add_investment inv3 + ballot.investments << inv3 expect(ballot.amount_spent(heading)).to eq 50000 end @@ -47,18 +46,17 @@ describe Budget::Ballot do group = create(:budget_group, budget: budget) heading1 = create(:budget_heading, group: group, price: 1000) heading2 = create(:budget_heading, group: group, price: 300) - inv1 = create(:budget_investment, :feasible, price: 100, heading: heading1) - inv2 = create(:budget_investment, :feasible, price: 200, heading: heading2) - inv3 = create(:budget_investment, :feasible, price: 400, heading: heading1) + inv1 = create(:budget_investment, :selected, price: 100, heading: heading1) + inv2 = create(:budget_investment, :selected, price: 200, heading: heading2) + inv3 = create(:budget_investment, :selected, price: 400, heading: heading1) ballot = create(:budget_ballot, budget: budget) - ballot.add_investment inv1 - ballot.add_investment inv2 + ballot.investments << inv1 << inv2 expect(ballot.amount_available(heading1)).to eq 900 expect(ballot.amount_available(heading2)).to eq 100 - ballot.add_investment inv3 + ballot.investments << inv3 expect(ballot.amount_available(heading1)).to eq 500 end diff --git a/spec/models/budget/investment_spec.rb b/spec/models/budget/investment_spec.rb index 6b98025ad..a56cfe46e 100644 --- a/spec/models/budget/investment_spec.rb +++ b/spec/models/budget/investment_spec.rb @@ -338,23 +338,23 @@ describe Budget::Investment do california = create(:budget_heading, group: group) new_york = create(:budget_heading, group: group) - inv1 = create(:budget_investment, :feasible, budget: budget, group: group, heading: california) - inv2 = create(:budget_investment, :feasible, budget: budget, group: group, heading: new_york) - b = create(:budget_ballot, user: user, budget: budget) - b.add_investment inv1 + inv1 = create(:budget_investment, :selected, budget: budget, group: group, heading: california) + inv2 = create(:budget_investment, :selected, budget: budget, group: group, heading: new_york) + ballot = create(:budget_ballot, user: user, budget: budget) + ballot.investments << inv1 - expect(inv2.reason_for_not_being_ballotable_by(user, b)).to eq(:different_heading_assigned) + expect(inv2.reason_for_not_being_ballotable_by(user, ballot)).to eq(:different_heading_assigned) end it "rejects proposals with price higher than current available money" do budget.phase = "balloting" districts = create(:budget_group, budget: budget) carabanchel = create(:budget_heading, group: districts, price: 35) - inv1 = create(:budget_investment, :feasible, budget: budget, group: districts, heading: carabanchel, price: 30) - inv2 = create(:budget_investment, :feasible, budget: budget, group: districts, heading: carabanchel, price: 10) + inv1 = create(:budget_investment, :selected, budget: budget, group: districts, heading: carabanchel, price: 30) + inv2 = create(:budget_investment, :selected, budget: budget, group: districts, heading: carabanchel, price: 10) ballot = create(:budget_ballot, user: user, budget: budget) - ballot.add_investment inv1 + ballot.investments << inv1 expect(inv2.reason_for_not_being_ballotable_by(user, ballot)).to eq(:not_enough_money) end