aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/validations_test.rb
diff options
context:
space:
mode:
authorBogdan Gusiev <agresso@gmail.com>2011-08-17 17:26:00 +0300
committerBogdan Gusiev <agresso@gmail.com>2011-08-17 17:26:00 +0300
commit8620bf90c5e486e1ec44b9aabb63f8c848668ed2 (patch)
tree4f88a3795abad13a3639ac5c53f3040a37a34a87 /activemodel/test/cases/validations_test.rb
parent5912f3f97e05862958f6b5383586a791491cdf6e (diff)
downloadrails-8620bf90c5e486e1ec44b9aabb63f8c848668ed2.tar.gz
rails-8620bf90c5e486e1ec44b9aabb63f8c848668ed2.tar.bz2
rails-8620bf90c5e486e1ec44b9aabb63f8c848668ed2.zip
Implemented strict validation concept
In order to deliver debug information to dev team instead of display error message to end user Implemented strict validation concept that suppose to define validation that always raise exception when fails
Diffstat (limited to 'activemodel/test/cases/validations_test.rb')
-rw-r--r--activemodel/test/cases/validations_test.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/activemodel/test/cases/validations_test.rb b/activemodel/test/cases/validations_test.rb
index 0b50acf913..2f4376bd41 100644
--- a/activemodel/test/cases/validations_test.rb
+++ b/activemodel/test/cases/validations_test.rb
@@ -297,4 +297,37 @@ class ValidationsTest < ActiveModel::TestCase
assert auto.valid?
end
+
+ def test_strict_validation_in_validates
+ Topic.validates :title, :strict => true, :presence => true
+ assert_raises ActiveModel::StrictValidationFailed do
+ Topic.new.valid?
+ end
+ end
+
+ def test_strict_validation_not_fails
+ Topic.validates :title, :strict => true, :presence => true
+ assert Topic.new(:title => "hello").valid?
+ end
+
+ def test_strict_validation_particular_validator
+ Topic.validates :title, :presence => {:strict => true}
+ assert_raises ActiveModel::StrictValidationFailed do
+ Topic.new.valid?
+ end
+ end
+
+ def test_strict_validation_in_custom_validator_helper
+ Topic.validates_presence_of :title, :strict => true
+ assert_raises ActiveModel::StrictValidationFailed do
+ Topic.new.valid?
+ end
+ end
+
+ def test_validates_with_bang
+ Topic.validates! :title, :presence => true
+ assert_raises ActiveModel::StrictValidationFailed do
+ Topic.new.valid?
+ end
+ end
end