diff options
author | Rafael França <rafael@franca.dev> | 2019-07-28 22:11:46 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-28 22:11:46 -0400 |
commit | d880faeefb194b302bd7a1b69925e369f2e727bb (patch) | |
tree | fa395e43ea79a370a50b73591fa96c29bd34c507 /actionview/test | |
parent | f1cfe1ee7017d5fe7c1e14fc44f40df70e0b5df3 (diff) | |
parent | e289c8d7759716c88b398e7bb54d1babc9006688 (diff) | |
download | rails-d880faeefb194b302bd7a1b69925e369f2e727bb.tar.gz rails-d880faeefb194b302bd7a1b69925e369f2e727bb.tar.bz2 rails-d880faeefb194b302bd7a1b69925e369f2e727bb.zip |
Merge pull request #36031 from st0012/guard-35982
Add test case to guard the query count for relation cache (for #35982)
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/activerecord/relation_cache_test.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/actionview/test/activerecord/relation_cache_test.rb b/actionview/test/activerecord/relation_cache_test.rb index 6fe83dcb9a..26f3bfbcbc 100644 --- a/actionview/test/activerecord/relation_cache_test.rb +++ b/actionview/test/activerecord/relation_cache_test.rb @@ -17,9 +17,24 @@ class RelationCacheTest < ActionView::TestCase end def test_cache_relation_other - cache(Project.all) { concat("Hello World") } + assert_queries(1) do + cache(Project.all) { concat("Hello World") } + end assert_equal "Hello World", controller.cache_store.read("views/test/hello_world:fa9482a68ce25bf7589b8eddad72f736/projects-#{Project.count}") end def view_cache_dependencies; []; end + + def assert_queries(num) + ActiveRecord::Base.connection.materialize_transactions + count = 0 + + ActiveSupport::Notifications.subscribe("sql.active_record") do |_name, _start, _finish, _id, payload| + count += 1 unless ["SCHEMA", "TRANSACTION"].include? payload[:name] + end + + result = yield + assert_equal num, count, "#{count} instead of #{num} queries were executed." + result + end end |