diff --git a/app/models/budget.rb b/app/models/budget.rb index c4f953915..5b2cdc558 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -67,6 +67,10 @@ class Budget < ActiveRecord::Base phase == "finished" end + def balloting_or_later? + balloting? || reviewing_ballots? || finished? + end + def on_hold? reviewing? || valuating? || reviewing_ballots? end diff --git a/spec/models/budget_spec.rb b/spec/models/budget_spec.rb index 1157a152b..a1d1a1f42 100644 --- a/spec/models/budget_spec.rb +++ b/spec/models/budget_spec.rb @@ -49,6 +49,52 @@ describe Budget do budget.phase = "finished" expect(budget).to be_finished end + + it "on_hold?" do + budget.phase = "accepting" + expect(budget).to_not be_on_hold + + budget.phase = "reviewing" + expect(budget).to be_on_hold + + budget.phase = "selecting" + expect(budget).to_not be_on_hold + + budget.phase = "valuating" + expect(budget).to be_on_hold + + budget.phase = "balloting" + expect(budget).to_not be_on_hold + + budget.phase = "reviewing_ballots" + expect(budget).to be_on_hold + + budget.phase = "finished" + expect(budget).to_not be_on_hold + end + + it "balloting_or_later?" do + budget.phase = "accepting" + expect(budget).to_not be_balloting_or_later + + budget.phase = "reviewing" + expect(budget).to_not be_balloting_or_later + + budget.phase = "selecting" + expect(budget).to_not be_balloting_or_later + + budget.phase = "valuating" + expect(budget).to_not be_balloting_or_later + + budget.phase = "balloting" + expect(budget).to be_balloting_or_later + + budget.phase = "reviewing_ballots" + expect(budget).to be_balloting_or_later + + budget.phase = "finished" + expect(budget).to be_balloting_or_later + end end describe "heading_price" do