aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--spec/models/compliance_control_validations/genric_attribute_validation/min_max_validation_spec.rb44
-rw-r--r--spec/models/compliance_control_validations/genric_attribute_validation/pattern_validation_spec.rb23
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