diff --git a/app/models/reading.rb b/app/models/reading.rb index a34edc8..1073222 100644 --- a/app/models/reading.rb +++ b/app/models/reading.rb @@ -1,4 +1,7 @@ class Reading < KalibroGem::Entities::Reading include KalibroRecord + validates :color, presence: true + validates :label, presence: true, kalibro_uniqueness: true + end diff --git a/spec/factories/readings.rb b/spec/factories/readings.rb index bcc14a6..8bf60c8 100644 --- a/spec/factories/readings.rb +++ b/spec/factories/readings.rb @@ -15,11 +15,11 @@ # along with this program. If not, see . FactoryGirl.define do - factory :reading, class: KalibroGem::Entities::Reading do + factory :reading do id 42 label "Good" - grade 10.5 + grade 10.5 color "33DD33" group_id 31 end -end \ No newline at end of file +end diff --git a/spec/models/reading_spec.rb b/spec/models/reading_spec.rb index 566ef2f..7e4c31a 100644 --- a/spec/models/reading_spec.rb +++ b/spec/models/reading_spec.rb @@ -1,5 +1,27 @@ require 'spec_helper' describe Reading do - + describe 'validations' do + subject {FactoryGirl.build(:reading)} + + context 'active model validations' do + before :each do + Reading.expects(:all).at_least_once.returns([]) + end + + it { should validate_presence_of(:label) } + it { should validate_presence_of(:color) } + end + + context 'kalibro validations' do + before :each do + Reading.expects(:request).returns(42) + end + + it 'should validate uniqueness' do + KalibroUniquenessValidator.any_instance.expects(:validate_each).with(subject, :label, subject.label) + subject.save + end + end + end end -- libgit2 0.21.2