From 5b419f8c0fc9a517df718f9cc99b927db822b266 Mon Sep 17 00:00:00 2001 From: Heitor Reis Date: Wed, 19 Nov 2014 12:52:24 -0200 Subject: [PATCH] Finished Mezuro Range integration --- app/models/mezuro_range.rb | 25 ------------------------- spec/models/mezuro_range_spec.rb | 85 ------------------------------------------------------------------------------------- spec/models/validators/beginning_uniqueness_validator_spec.rb | 1 + spec/models/validators/greater_than_beginning_validator_spec.rb | 1 + spec/models/validators/kalibro_uniqueness_validator_spec.rb | 1 + 5 files changed, 3 insertions(+), 110 deletions(-) delete mode 100644 spec/models/mezuro_range_spec.rb diff --git a/app/models/mezuro_range.rb b/app/models/mezuro_range.rb index 96a51e8..59904de 100644 --- a/app/models/mezuro_range.rb +++ b/app/models/mezuro_range.rb @@ -1,27 +1,2 @@ -require "validators/beginning_uniqueness_validator.rb" -require "validators/greater_than_beginning_validator.rb" -require "validators/range_overlapping_validator.rb" - class MezuroRange < KalibroGatekeeperClient::Entities::Range - include KalibroRecord - - attr_accessor :beginning, :end, :reading_id, :mezuro_configuration_id, :comments - - validates :beginning, presence: true, beginning_uniqueness: true - validates :beginning, numericality: true, if: :non_infinite_beginning? - validates :end, presence: true - validates :end, numericality: true, if: :non_infinite_end? - validates :end, greater_than_beginning: true - validates :reading_id, presence: true - validates_with RangeOverlappingValidator - - private - - def non_infinite_end? - !(self.end == '-INF' || self.end == 'INF') - end - - def non_infinite_beginning? - val = !(self.beginning == '-INF' || self.beginning == 'INF') - end end diff --git a/spec/models/mezuro_range_spec.rb b/spec/models/mezuro_range_spec.rb deleted file mode 100644 index 0a4497c..0000000 --- a/spec/models/mezuro_range_spec.rb +++ /dev/null @@ -1,85 +0,0 @@ -require 'rails_helper' - -describe MezuroRange, :type => :model do - pending 'waiting for kalibro configurations integration' do - subject { FactoryGirl.build(:mezuro_range, { metric_configuration_id: 42 }) } - describe 'validations' do - context 'active model validations' do - before :each do - BeginningUniquenessValidator.any_instance.stubs(:validate_each) - GreaterThanBeginningValidator.any_instance.stubs(:validate_each) - RangeOverlappingValidator.any_instance.stubs(:validate) - end - - it { is_expected.to validate_presence_of(:beginning) } - it { is_expected.to validate_presence_of(:end) } - it { is_expected.to validate_presence_of(:reading_id) } - - context 'beginning and end numericality' do - it { is_expected.to validate_numericality_of(:beginning) } - it { is_expected.to validate_numericality_of(:end) } - - it 'should allow -INF and INF to beginning' do - subject.beginning = '-INF' - subject.save - - expect(subject.errors.messages).to be_empty - - subject.beginning = 'INF' - subject.save - - expect(subject.errors.messages).to be_empty - end - - it 'should allow -INF and INF to end' do - subject.end = '-INF' - subject.save - - expect(subject.errors.messages).to be_empty - - subject.end = 'INF' - subject.save - - expect(subject.errors.messages).to be_empty - end - end - end - - context 'beginning validations' do - before :each do - GreaterThanBeginningValidator.any_instance.stubs(:validate_each) - RangeOverlappingValidator.any_instance.stubs(:validate) - end - - it 'should validate uniqueness' do - BeginningUniquenessValidator.any_instance.expects(:validate_each).with(subject, :beginning, subject.beginning) - subject.save - end - end - - context 'end validations' do - before :each do - BeginningUniquenessValidator.any_instance.stubs(:validate_each) - RangeOverlappingValidator.any_instance.stubs(:validate) - end - - it 'should validate that end is greater than beginning' do - GreaterThanBeginningValidator.any_instance.expects(:validate_each).with(subject, :end, subject.end) - subject.save - end - end - - context 'overlapping validations' do - before :each do - GreaterThanBeginningValidator.any_instance.stubs(:validate_each) - BeginningUniquenessValidator.any_instance.stubs(:validate_each) - end - - it 'is expected to validate if this range overlaps the existing ones' do - RangeOverlappingValidator.any_instance.expects(:validate).with(subject) - subject.save - end - end - end - end -end diff --git a/spec/models/validators/beginning_uniqueness_validator_spec.rb b/spec/models/validators/beginning_uniqueness_validator_spec.rb index acda96a..1097453 100644 --- a/spec/models/validators/beginning_uniqueness_validator_spec.rb +++ b/spec/models/validators/beginning_uniqueness_validator_spec.rb @@ -1,4 +1,5 @@ require 'rails_helper' +require 'validators/beginning_uniqueness_validator' describe BeginningUniquenessValidator, :type => :model do pending 'waiting for kalibro configurations integration' do diff --git a/spec/models/validators/greater_than_beginning_validator_spec.rb b/spec/models/validators/greater_than_beginning_validator_spec.rb index e81c829..76b08a3 100644 --- a/spec/models/validators/greater_than_beginning_validator_spec.rb +++ b/spec/models/validators/greater_than_beginning_validator_spec.rb @@ -1,4 +1,5 @@ require 'rails_helper' +require 'validators/greater_than_beginning_validator' describe GreaterThanBeginningValidator, :type => :model do pending 'waiting for kalibro configurations integration' do diff --git a/spec/models/validators/kalibro_uniqueness_validator_spec.rb b/spec/models/validators/kalibro_uniqueness_validator_spec.rb index 27c54dd..6c200c1 100644 --- a/spec/models/validators/kalibro_uniqueness_validator_spec.rb +++ b/spec/models/validators/kalibro_uniqueness_validator_spec.rb @@ -1,4 +1,5 @@ require 'rails_helper' +require 'validators/range_overlapping_validator' describe KalibroUniquenessValidator, :type => :model do pending 'waiting for kalibro configurations integration' do -- libgit2 0.21.2