diff options
| author | Zog | 2018-03-29 10:02:28 +0200 |
|---|---|---|
| committer | Zog | 2018-03-29 10:02:28 +0200 |
| commit | 0b9d39df0ba1b3882edf0b50697f004bb402e820 (patch) | |
| tree | fb576d436103c66e6ceef8ded897df6556fdb98b | |
| parent | 8c9ab7cb67772fb8642aae56b96fb325fd18ae04 (diff) | |
| download | chouette-core-0b9d39df0ba1b3882edf0b50697f004bb402e820.tar.bz2 | |
Fix MinMax Validation
| -rw-r--r-- | app/models/concerns/min_max_values_validation.rb | 2 | ||||
| -rw-r--r-- | spec/support/shared_examples/compliance_control_validation.rb | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/app/models/concerns/min_max_values_validation.rb b/app/models/concerns/min_max_values_validation.rb index 91e760c5a..a79f5ec85 100644 --- a/app/models/concerns/min_max_values_validation.rb +++ b/app/models/concerns/min_max_values_validation.rb @@ -4,7 +4,7 @@ module MinMaxValuesValidation included do validates_presence_of :minimum, :maximum validates_numericality_of :minimum, :maximum, allow_nil: true, greater_than_or_equal_to: 0 - validates_format_of :minimum, :maximum, with: %r{\A\d+\.\d{2}\Z} + validates_format_of :minimum, :maximum, with: %r{\A\d+(\.\d+)?\Z} validate :min_max_values_validation end diff --git a/spec/support/shared_examples/compliance_control_validation.rb b/spec/support/shared_examples/compliance_control_validation.rb index b23c2984f..3a8232193 100644 --- a/spec/support/shared_examples/compliance_control_validation.rb +++ b/spec/support/shared_examples/compliance_control_validation.rb @@ -12,7 +12,25 @@ RSpec.shared_examples_for 'has min_max_values' do end end + context "is valid" do + it 'if minimum is well formatted' do + subject.minimum = "12" + expect_it.to be_valid + subject.minimum = "12.0" + expect_it.to be_valid + subject.minimum = "12.01" + expect_it.to be_valid + end + end + context "is invalid" do + it 'if minimum is not well formatted' do + subject.minimum = "AA" + expect_it.not_to be_valid + subject.minimum = "12." + expect_it.not_to be_valid + end + it 'if no value is provided' do subject.minimum = nil subject.maximum = nil |
