diff --git a/test/liquid_drops/event_drop_test.rb b/test/liquid_drops/event_drop_test.rb index 6ef7316aff1..c44e36a5d48 100644 --- a/test/liquid_drops/event_drop_test.rb +++ b/test/liquid_drops/event_drop_test.rb @@ -39,18 +39,4 @@ assert_operator queries, :<=, 1, "expected a constant number of image attachment queries" end end - - private - - def count_queries(pattern) - count = 0 - subscriber = - ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| - count += 1 if pattern.match?(payload[:sql]) - end - yield - count - ensure - ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber - end end diff --git a/test/liquid_drops/user_con_profile_drop_test.rb b/test/liquid_drops/user_con_profile_drop_test.rb index 914ef9cf68d..a081bc95ade 100644 --- a/test/liquid_drops/user_con_profile_drop_test.rb +++ b/test/liquid_drops/user_con_profile_drop_test.rb @@ -75,18 +75,4 @@ assert_operator queries, :<=, 2, "expected a constant number of bucket queries regardless of signup count" end end - - private - - def count_queries(pattern) - count = 0 - subscriber = - ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| - count += 1 if pattern.match?(payload[:sql]) - end - yield - count - ensure - ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber - end end diff --git a/test/models/run_test.rb b/test/models/run_test.rb index 741b06ee50d..fc57d2d4456 100644 --- a/test/models/run_test.rb +++ b/test/models/run_test.rb @@ -50,18 +50,4 @@ class RunTest < ActiveSupport::TestCase assert_operator queries, :<=, 2, "expected a constant number of bucket queries regardless of signup count" end end - - private - - def count_queries(pattern) - count = 0 - subscriber = - ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| - count += 1 if pattern.match?(payload[:sql]) - end - yield - count - ensure - ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber - end end diff --git a/test/presenters/signup_count_presenter_test.rb b/test/presenters/signup_count_presenter_test.rb index 7679b4f7574..fee8197661d 100644 --- a/test/presenters/signup_count_presenter_test.rb +++ b/test/presenters/signup_count_presenter_test.rb @@ -153,18 +153,4 @@ class SignupCountPresenterTest < ActiveSupport::TestCase assert_operator queries, :<=, 2, "expected a constant number of registration_policy/bucket queries" end end - - private - - def count_queries(pattern) - count = 0 - subscriber = - ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| - count += 1 if pattern.match?(payload[:sql]) - end - yield - count - ensure - ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber - end end diff --git a/test/services/event_signup_service_test.rb b/test/services/event_signup_service_test.rb index c1c66d01fd4..b9b567aa12e 100644 --- a/test/services/event_signup_service_test.rb +++ b/test/services/event_signup_service_test.rb @@ -718,16 +718,4 @@ def create_other_signup(bucket_key, **attributes) }.merge(attributes) ) end - - def count_queries(pattern) - count = 0 - subscriber = - ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| - count += 1 if pattern.match?(payload[:sql]) - end - yield - count - ensure - ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber - end end diff --git a/test/services/execute_ranked_choice_signup_service_test.rb b/test/services/execute_ranked_choice_signup_service_test.rb index 42bb73edfa0..1ace61710e1 100644 --- a/test/services/execute_ranked_choice_signup_service_test.rb +++ b/test/services/execute_ranked_choice_signup_service_test.rb @@ -403,18 +403,4 @@ def user_con_profile_queries_for(existing_signup_count) assert_equal "signed_up", signup_ranked_choice.state end end - - private - - def count_queries(pattern) - count = 0 - subscriber = - ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| - count += 1 if pattern.match?(payload[:sql]) - end - yield - count - ensure - ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber - end end diff --git a/test/test_helper.rb b/test/test_helper.rb index b9a214c2185..b9790cdab3b 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -115,6 +115,20 @@ def execute_graphql_query(query, user_con_profile: nil, context_attrs: {}, **) raise GraphqlTestExecutionError, result if result["errors"].present? result end + + # Counts SQL queries matching pattern issued while running the block, for asserting on N+1s + # (e.g. assert_operator count_queries(/registration_policy_buckets/) { subject.call! }, :<=, 1). + def count_queries(pattern) + count = 0 + subscriber = + ActiveSupport::Notifications.subscribe("sql.active_record") do |*, payload| + count += 1 if pattern.match?(payload[:sql]) + end + yield + count + ensure + ActiveSupport::Notifications.unsubscribe(subscriber) if subscriber + end end class ActionController::TestCase