aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/base_test.rb
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2018-09-30 09:30:48 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2018-09-30 09:30:48 +0900
commit7ea546b5c661b18067ebec9d0badbd3c393964d2 (patch)
treee257369215ec18986845a7cc8d2bfef70d64d1d5 /activerecord/test/cases/base_test.rb
parent445a74e1a953c0b0bddf51b69865d43cce6ea859 (diff)
downloadrails-7ea546b5c661b18067ebec9d0badbd3c393964d2.tar.gz
rails-7ea546b5c661b18067ebec9d0badbd3c393964d2.tar.bz2
rails-7ea546b5c661b18067ebec9d0badbd3c393964d2.zip
Make `test_initialize_with_invalid_attribute` work correctly
Originally specified attributes were only normal values, and `ActiveRecord::MultiparameterAssignmentErrors` did not occur. In addition, an assertion is performed only on rescue, even if an exception does not occur, the test passes. To avoid this use `assert_raise`.
Diffstat (limited to 'activerecord/test/cases/base_test.rb')
-rw-r--r--activerecord/test/cases/base_test.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/activerecord/test/cases/base_test.rb b/activerecord/test/cases/base_test.rb
index f6311f9256..09e5517449 100644
--- a/activerecord/test/cases/base_test.rb
+++ b/activerecord/test/cases/base_test.rb
@@ -282,11 +282,13 @@ class BasicsTest < ActiveRecord::TestCase
end
def test_initialize_with_invalid_attribute
- Topic.new("title" => "test",
- "last_read(1i)" => "2005", "last_read(2i)" => "2", "last_read(3i)" => "31")
- rescue ActiveRecord::MultiparameterAssignmentErrors => ex
+ ex = assert_raise(ActiveRecord::MultiparameterAssignmentErrors) do
+ Topic.new("title" => "test",
+ "written_on(4i)" => "16", "written_on(5i)" => "24", "written_on(6i)" => "00")
+ end
+
assert_equal(1, ex.errors.size)
- assert_equal("last_read", ex.errors[0].attribute)
+ assert_equal("written_on", ex.errors[0].attribute)
end
def test_create_after_initialize_without_block