Add Budget#valuating_or_later? method

We're going to use it so we know if a budget has finished its support
phase.
This commit is contained in:
Javi Martín
2019-03-20 18:12:08 +01:00
parent 1f225c59ed
commit 8bb0fa4726
3 changed files with 25 additions and 0 deletions

View File

@@ -125,6 +125,10 @@ class Budget < ApplicationRecord
Budget::Phase::PUBLISHED_PRICES_PHASES.include?(phase)
end
def valuating_or_later?
current_phase&.valuating_or_later?
end
def publishing_prices_or_later?
current_phase&.publishing_prices_or_later?
end

View File

@@ -47,6 +47,10 @@ class Budget
end
end
def valuating_or_later?
in_phase_or_later?("valuating")
end
def publishing_prices_or_later?
in_phase_or_later?("publishing_prices")
end

View File

@@ -97,6 +97,23 @@ describe Budget do
expect(budget).to be_finished
end
describe "#valuating_or_later?" do
it "returns false before valuating" do
budget.phase = "selecting"
expect(budget).not_to be_valuating_or_later
end
it "returns true while valuating" do
budget.phase = "valuating"
expect(budget).to be_valuating_or_later
end
it "returns true after valuating" do
budget.phase = "publishing_prices"
expect(budget).to be_valuating_or_later
end
end
describe "#publishing_prices_or_later?" do
it "returns false before publishing prices" do
budget.phase = "valuating"