diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-12-16 14:50:05 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2014-12-16 14:50:05 -0200 |
commit | a328014ff2e1adf9f202308f4e48ba6b32507d3a (patch) | |
tree | 4bb9869a3924f155a116cad6ea3ef60cb6feab46 /activemodel/test/cases/validations | |
parent | 1f5df859d8c8e35144b1783f136d34ab9b2099a9 (diff) | |
parent | b7bd7ffa6398570de9631100657161f1d78fb8ce (diff) | |
download | rails-a328014ff2e1adf9f202308f4e48ba6b32507d3a.tar.gz rails-a328014ff2e1adf9f202308f4e48ba6b32507d3a.tar.bz2 rails-a328014ff2e1adf9f202308f4e48ba6b32507d3a.zip |
Merge pull request #18032 from claudiob/add-test-for-after-validate-callbacks
Add test for ActiveModel `after_validation`, `after_` and `around_` callbacks returning false
Diffstat (limited to 'activemodel/test/cases/validations')
-rw-r--r-- | activemodel/test/cases/validations/callbacks_test.rb | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/activemodel/test/cases/validations/callbacks_test.rb b/activemodel/test/cases/validations/callbacks_test.rb index 6cd0f4ed4d..5d6d48b824 100644 --- a/activemodel/test/cases/validations/callbacks_test.rb +++ b/activemodel/test/cases/validations/callbacks_test.rb @@ -30,11 +30,16 @@ class DogWithTwoValidators < Dog before_validation { self.history << 'before_validation_marker2' } end -class DogValidatorReturningFalse < Dog +class DogBeforeValidatorReturningFalse < Dog before_validation { false } before_validation { self.history << 'before_validation_marker2' } end +class DogAfterValidatorReturningFalse < Dog + after_validation { false } + after_validation { self.history << 'after_validation_marker' } +end + class DogWithMissingName < Dog before_validation { self.history << 'before_validation_marker' } validates_presence_of :name @@ -82,12 +87,18 @@ class CallbacksWithMethodNamesShouldBeCalled < ActiveModel::TestCase end def test_further_callbacks_should_not_be_called_if_before_validation_returns_false - d = DogValidatorReturningFalse.new + d = DogBeforeValidatorReturningFalse.new output = d.valid? assert_equal [], d.history assert_equal false, output end + def test_further_callbacks_should_be_called_if_after_validation_returns_false + d = DogAfterValidatorReturningFalse.new + d.valid? + assert_equal ['after_validation_marker'], d.history + end + def test_validation_test_should_be_done d = DogWithMissingName.new output = d.valid? |