From e6d924ea1728c7d0fc4ac08d9e5f56caec5cb040 Mon Sep 17 00:00:00 2001 From: Joel Lubrano Date: Tue, 11 Jun 2024 23:21:38 -0400 Subject: [PATCH] Add configuration test for ActiveRecord being loaded prior to new framework defaults --- railties/test/application/configuration_test.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb index b60e687438..2bfec29bf3 100644 --- a/railties/test/application/configuration_test.rb +++ b/railties/test/application/configuration_test.rb @@ -4482,6 +4482,20 @@ def new(app); self; end assert_equal true, ActiveRecord.run_after_transaction_callbacks_in_order_defined end + test "run_after_transaction_callbacks_in_order_defined can be set via framework defaults even if Active Record was previously loaded" do + remove_from_config '.*config\.load_defaults.*\n' + add_to_config 'config.load_defaults "7.0"' + app_file "config/initializers/01_configure_database.rb", <<-RUBY + ActiveRecord::Base.connected? + RUBY + app_file "config/initializers/new_framework_defaults_7_1.rb", <<-RUBY + Rails.application.config.active_record.run_after_transaction_callbacks_in_order_defined = true + RUBY + app "development" + + assert_equal true, ActiveRecord.run_after_transaction_callbacks_in_order_defined + end + test "raises if configuration tries to assign to an actual method" do remove_from_config '.*config\.load_defaults.*\n' add_to_config 'config.load_defaults = "7.0"'