diff options
| author | Robert | 2017-10-13 16:48:46 +0200 |
|---|---|---|
| committer | Robert | 2017-10-16 07:47:37 +0200 |
| commit | c266ee913353d67a3674ed6188c2ff96b44407c1 (patch) | |
| tree | d128f614d8eeb8e6a617fed4b67dd00b8a7658ab | |
| parent | a8da41521f5e45d2ab39ddd9b0269d8cd1094d35 (diff) | |
| download | chouette-core-c266ee913353d67a3674ed6188c2ff96b44407c1.tar.bz2 | |
Refs: #4270@0.6h;
GenericControlAttribute validation speced for
- MinMax
- Pattern
2 files changed, 67 insertions, 0 deletions
diff --git a/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb b/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb new file mode 100644 index 000000000..409475a46 --- /dev/null +++ b/spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb @@ -0,0 +1,44 @@ +RSpec.describe GenericAttributeControl::MinMax do + + let( :factory ){ :generic_attribute_control_min_max } + subject{ build factory } + + context "is valid" do + it 'if no value is provided' do + expect_it.to be_valid + end + it 'if minimum is provided alone' do + subject.minimum = 42 + expect_it.to be_valid + end + it 'if maximum is provided alone' do + 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 + 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 + end + + end + + + +end diff --git a/spec/models/compliance_control_validations/genric_attribute_validation/pattern_validation_spec.rb b/spec/models/compliance_control_validations/genric_attribute_validation/pattern_validation_spec.rb new file mode 100644 index 000000000..82c5c10c3 --- /dev/null +++ b/spec/models/compliance_control_validations/genric_attribute_validation/pattern_validation_spec.rb @@ -0,0 +1,23 @@ +RSpec.describe GenericAttributeControl::Pattern do + + let( :factory ){ :generic_attribute_control_pattern } + subject{ build factory } + + context "is valid" do + if 'the pattern contains a basic regex' do + subject.pattern = 'hel+o?' + expect_it.to be_valid + end + end + + context "is invalid" do + it 'if no pattern has been provided' do + expect_it.not_to be_valid + end + it 'if the pattern is empty' do + subject.pattern = ' ' + expect_it.not_to be_valid + end + + end +end |
