提交 8c42d1b6 编写于 作者: R Ryuta Kamizono

Add test case for deprecated `insert_fixtures`

Since #31422, `insert_fixtures` is deprecated.
上级 a4df58a8
......@@ -367,9 +367,11 @@ def foreign_keys(table_name)
end
def insert_fixtures(rows, table_name)
rows.each do |row|
insert_fixture(row, table_name)
end
ActiveSupport::Deprecation.warn(<<-MSG.squish)
`insert_fixtures` is deprecated and will be removed in the next version of Rails.
Consider using `insert_fixtures_set` for performance improvement.
MSG
insert_fixtures_set(table_name => rows)
end
def insert_fixtures_set(fixture_set, tables_to_delete = [])
......
......@@ -211,16 +211,30 @@ def test_no_auto_value_on_zero_is_disabled
subscription = ActiveSupport::Notifications.subscribe("sql.active_record", subscriber)
assert_nothing_raised do
ActiveRecord::Base.connection.insert_fixtures(fixtures, "aircraft")
ActiveRecord::Base.connection.insert_fixtures_set("aircraft" => fixtures)
end
expected_sql = "INSERT INTO `aircraft` (`id`, `name`, `wheels_count`) VALUES (DEFAULT, 'first', 2), (DEFAULT, 'second', 3)"
expected_sql = "INSERT INTO `aircraft` (`id`, `name`, `wheels_count`) VALUES (DEFAULT, 'first', 2), (DEFAULT, 'second', 3);\n"
assert_equal expected_sql, subscriber.events.first
ensure
ActiveSupport::Notifications.unsubscribe(subscription)
end
end
def test_deprecated_insert_fixtures
fixtures = [
{ "name" => "first", "wheels_count" => 2 },
{ "name" => "second", "wheels_count" => 3 }
]
conn = ActiveRecord::Base.connection
conn.delete("DELETE FROM aircraft")
assert_deprecated do
conn.insert_fixtures(fixtures, "aircraft")
end
result = conn.select_all("SELECT name, wheels_count FROM aircraft ORDER BY id")
assert_equal fixtures, result.to_a
end
def test_broken_yaml_exception
badyaml = Tempfile.new ["foo", ".yml"]
badyaml.write "a: : "
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册