From fdc8636e12daf2ae70b32216a9145b09c5a6d26f Mon Sep 17 00:00:00 2001 From: kikito Date: Fri, 20 May 2016 17:56:05 +0200 Subject: [PATCH] Adds simple Budget specs --- app/models/budget.rb | 10 +++++++++- spec/factories.rb | 5 +++++ spec/models/budget_spec.rb | 15 +++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 spec/models/budget_spec.rb diff --git a/app/models/budget.rb b/app/models/budget.rb index abffbf799..9b5940e4f 100644 --- a/app/models/budget.rb +++ b/app/models/budget.rb @@ -1,5 +1,12 @@ class Budget < ActiveRecord::Base + VALID_PHASES = %W{on_hold accepting selecting balloting finished} + + validates :phase, inclusion: { in: VALID_PHASES } + + has_many :investments + has_many :ballots + def on_hold? phase == "on_hold" end @@ -20,4 +27,5 @@ class Budget < ActiveRecord::Base phase == "finished" end -end \ No newline at end of file +end + diff --git a/spec/factories.rb b/spec/factories.rb index 4aa3f6718..0ae660e9a 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -358,4 +358,9 @@ FactoryGirl.define do sequence(:name) { |n| "District #{n}" } census_code { '01' } end + + factory :budget do + sequence(:name) {|n| "Budget #{n}" } + phase "on_hold" + end end diff --git a/spec/models/budget_spec.rb b/spec/models/budget_spec.rb new file mode 100644 index 000000000..d874148a1 --- /dev/null +++ b/spec/models/budget_spec.rb @@ -0,0 +1,15 @@ +require 'rails_helper' + +describe Budget do + it "validates the phase" do + budget = create(:budget) + Budget::VALID_PHASES.each do |phase| + budget.phase = phase + expect(budget).to be_valid + end + + budget.phase = 'inexisting' + expect(budget).to_not be_valid + end +end +