diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2019-07-15 20:36:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-15 20:36:40 +0100 |
commit | bec7be880064c7b50ab9500c3b4fdb4296a8cd4a (patch) | |
tree | ea55928d7cab96572cc731cf3b494612944a764c /activemodel/test/cases | |
parent | 69cb9eb7adaf2ee1c33ee1dcf6aadd6eafa7b6d2 (diff) | |
parent | 06756290d5000034e6815f57d5003111ff0b2865 (diff) | |
download | rails-bec7be880064c7b50ab9500c3b4fdb4296a8cd4a.tar.gz rails-bec7be880064c7b50ab9500c3b4fdb4296a8cd4a.tar.bz2 rails-bec7be880064c7b50ab9500c3b4fdb4296a8cd4a.zip |
Merge pull request #36649 from Edouard-chin/ec-errors-strit-match-collection
Fix `AM::Errors.added?` trying to generate a message:
Diffstat (limited to 'activemodel/test/cases')
-rw-r--r-- | activemodel/test/cases/errors_test.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb index baaf404f2e..e7ec9225b0 100644 --- a/activemodel/test/cases/errors_test.rb +++ b/activemodel/test/cases/errors_test.rb @@ -274,6 +274,28 @@ class ErrorsTest < ActiveModel::TestCase assert_equal [msg], person.errors[:name] end + test "added? when attribute was added through a collection" do + person = Person.new + person.errors.add(:"family_members.name", :too_long, count: 25) + assert person.errors.added?(:"family_members.name", :too_long, count: 25) + assert_not person.errors.added?(:"family_members.name", :too_long) + assert_not person.errors.added?(:"family_members.name", :too_long, name: "hello") + end + + test "added? ignores callback option" do + person = Person.new + + person.errors.add(:name, :too_long, if: -> { true }) + assert person.errors.added?(:name, :too_long) + end + + test "added? ignores message option" do + person = Person.new + + person.errors.add(:name, :too_long, message: proc { "foo" }) + assert person.errors.added?(:name, :too_long) + end + test "added? detects indifferent if a specific error was added to the object" do person = Person.new person.errors.add(:name, "cannot be blank") |