aboutsummaryrefslogtreecommitdiffstats
path: root/spec/support/shared_examples
diff options
context:
space:
mode:
authorLuc Donnet2018-02-19 11:04:29 +0100
committerLuc Donnet2018-02-19 11:04:29 +0100
commit7b17deff51545358009cb417cbb9d796565e7540 (patch)
treea43a5586ad39d838dd607e600dbc15ff18a58ab3 /spec/support/shared_examples
parent89428163fc93a7e09ebb0ca47939f8558afeb5eb (diff)
parent5f6008d165df4499319a2121a71842657d6ac3c9 (diff)
downloadchouette-core-7b17deff51545358009cb417cbb9d796565e7540.tar.bz2
Merge branch 'master' into 0000-docker
Diffstat (limited to 'spec/support/shared_examples')
-rw-r--r--spec/support/shared_examples/compliance_control_validation.rb55
1 files changed, 33 insertions, 22 deletions
diff --git a/spec/support/shared_examples/compliance_control_validation.rb b/spec/support/shared_examples/compliance_control_validation.rb
index d4ab9f41d..b23c2984f 100644
--- a/spec/support/shared_examples/compliance_control_validation.rb
+++ b/spec/support/shared_examples/compliance_control_validation.rb
@@ -1,43 +1,54 @@
RSpec.shared_examples_for 'has min_max_values' do
context "is valid" do
- it 'if no value is provided' do
+ it { should validate_numericality_of(:minimum) }
+ it { should validate_numericality_of(:maximum) }
+
+ 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
+
+
+RSpec.shared_examples_for "has target attribute" do
+ context "is valid" do
+ it { should validate_presence_of(:target) }
+ end
+end