aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/errors_test.rb
diff options
context:
space:
mode:
authorLawrence Pit <lawrence.pit@gmail.com>2011-09-09 18:28:25 +1000
committerLawrence Pit <lawrence.pit@gmail.com>2011-09-09 18:28:25 +1000
commitf5a944f662d3236f7bf3162d3b61850c61339b50 (patch)
tree41677553344d890943daa19fe342c496e01d26ab /activemodel/test/cases/errors_test.rb
parentac1a363c6ed889d11e8fabd6dd69a8a6df9e3cfd (diff)
downloadrails-f5a944f662d3236f7bf3162d3b61850c61339b50.tar.gz
rails-f5a944f662d3236f7bf3162d3b61850c61339b50.tar.bz2
rails-f5a944f662d3236f7bf3162d3b61850c61339b50.zip
Add ability to get an individual full error message + test for full_messages.
Diffstat (limited to 'activemodel/test/cases/errors_test.rb')
-rw-r--r--activemodel/test/cases/errors_test.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb
index da109a8738..51668a0689 100644
--- a/activemodel/test/cases/errors_test.rb
+++ b/activemodel/test/cases/errors_test.rb
@@ -52,7 +52,6 @@ class ErrorsTest < ActiveModel::TestCase
person.validate!
assert_equal ["name can not be nil"], person.errors.full_messages
assert_equal ["can not be nil"], person.errors[:name]
-
end
test 'should be able to assign error' do
@@ -78,7 +77,6 @@ class ErrorsTest < ActiveModel::TestCase
person.errors.add(:name, "can not be blank")
person.errors.add(:name, "can not be nil")
assert_equal ["name can not be blank", "name can not be nil"], person.errors.to_a
-
end
test 'to_hash should return an ordered hash' do
@@ -86,4 +84,22 @@ class ErrorsTest < ActiveModel::TestCase
person.errors.add(:name, "can not be blank")
assert_instance_of ActiveSupport::OrderedHash, person.errors.to_hash
end
+
+ test 'full_messages should return an array of error messages, with the attribute name included' do
+ person = Person.new
+ person.errors.add(:name, "can not be blank")
+ person.errors.add(:name, "can not be nil")
+ assert_equal ["name can not be blank", "name can not be nil"], person.errors.to_a
+ end
+
+ test 'full_message should return the given message if attribute equals :base' do
+ person = Person.new
+ assert_equal "press the button", person.errors.full_message(:base, "press the button")
+ end
+
+ test 'full_message should return the given message with the attribute name included' do
+ person = Person.new
+ assert_equal "name can not be blank", person.errors.full_message(:name, "can not be blank")
+ end
+
end