mirror of
https://github.com/glitch-soc/mastodon.git
synced 2025-12-24 19:37:26 +00:00
26 lines
663 B
Ruby
26 lines
663 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'active_record/testing/query_assertions'
|
|
|
|
# Implement something similar to Rails' built-in assertion.
|
|
# Can be removed once https://github.com/rspec/rspec-rails/pull/2818
|
|
# has been merged and released.
|
|
RSpec::Matchers.define :execute_queries do |expected = nil|
|
|
match do |actual|
|
|
counter = ActiveRecord::Assertions::QueryAssertions::SQLCounter.new
|
|
|
|
queries = ActiveSupport::Notifications.subscribed(counter, 'sql.active_record') do
|
|
actual.call
|
|
counter.log
|
|
end
|
|
|
|
if expected.nil?
|
|
queries.count >= 1
|
|
else
|
|
queries.count == expected
|
|
end
|
|
end
|
|
|
|
supports_block_expectations
|
|
end
|