Module: NPlusOneControl::MinitestHelper
- Defined in:
- lib/n_plus_one_control/minitest.rb
Overview
Minitest assertions
Instance Method Summary collapse
Instance Method Details
#assert_perform_constant_number_of_queries(populate: nil, matching: nil, scale_factors: nil) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/n_plus_one_control/minitest.rb', line 8 def assert_perform_constant_number_of_queries( populate: nil, matching: nil, scale_factors: nil ) raise ArgumentError, "Block is required" unless block_given? queries = NPlusOneControl::Executor.call( population: populate || method(:populate), matching: matching || /^SELECT/i, scale_factors: scale_factors || NPlusOneControl.default_scale_factors ) { yield } counts = queries.map(&:last).map(&:size) assert counts.max == counts.min, NPlusOneControl.(queries) end |