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`.
This commit is contained in:
yuuji.yaginuma 2018-09-30 09:30:48 +09:00
parent 445a74e1a9
commit 7ea546b5c6

@ -282,11 +282,13 @@ def test_initialize_with_attributes
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