diff options
| author | Luc Donnet | 2018-01-11 13:50:09 +0100 |
|---|---|---|
| committer | Luc Donnet | 2018-01-11 13:50:33 +0100 |
| commit | 41135059b9e9b1649b9001a512a0cb9c3e370127 (patch) | |
| tree | 021380c07fab04da82a3b5ce92fbb589967eebb6 /spec/support/shared_examples | |
| parent | 40546b58557a939ceb6f60c1dfc8ff14444e9d20 (diff) | |
| download | chouette-core-41135059b9e9b1649b9001a512a0cb9c3e370127.tar.bz2 | |
Fix vehicle_journey_control for min max values Refs #5543 @2
Diffstat (limited to 'spec/support/shared_examples')
| -rw-r--r-- | spec/support/shared_examples/compliance_control_validation.rb | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/spec/support/shared_examples/compliance_control_validation.rb b/spec/support/shared_examples/compliance_control_validation.rb index c76712c4c..b23c2984f 100644 --- a/spec/support/shared_examples/compliance_control_validation.rb +++ b/spec/support/shared_examples/compliance_control_validation.rb @@ -4,43 +4,44 @@ RSpec.shared_examples_for 'has min_max_values' do it { should validate_numericality_of(:minimum) } it { should validate_numericality_of(:maximum) } - it 'if no value is provided' do + it 'if maximum is greater than minimum' do + min = random_int + max = min + 100 + subject.assign_attributes maximum: max, minimum: min expect_it.to be_valid end + end + + context "is invalid" do + it 'if no value is provided' do + subject.minimum = nil + subject.maximum = nil + expect_it.not_to be_valid + end + it 'if minimum is provided alone' do subject.minimum = 42 - expect_it.to be_valid + subject.maximum = nil + expect_it.not_to be_valid end + it 'if maximum is provided alone' do + subject.minimum = nil subject.maximum = 42 - expect_it.to be_valid - end - - it 'if maximum is not smaller than minimum' do - 100.times do - min = random_int - max = min + random_int(20) - subject.assign_attributes maximum: max, minimum: min - subject.assign_attributes maximum: min, minimum: min - expect_it.to be_valid - end + expect_it.not_to be_valid end - end - context "is invalid" do it 'if maximum is smaller than minimum' do - 100.times do - min = random_int - max = min - random_int(20) - 1 - subject.assign_attributes maximum: max, minimum: min - expect_it.not_to be_valid - end + min = random_int + max = min - 1 + subject.assign_attributes maximum: max, minimum: min + expect_it.not_to be_valid end it 'and has a correct error message' do subject.assign_attributes maximum: 1, minimum: 2 expect_it.not_to be_valid - expect( subject.errors.messages[:min_max_values].first ).to match("la valeur de minimum (2) ne doit pas être superieur à la valuer du maximum (1)") + expect( subject.errors.messages[:minimum].first ).to match(I18n.t("compliance_controls.min_max_values", min: 2, max: 1)) end end end |
