Sha256: 32e1f8b3dcfe95e9bd96e987af4e62d8ba7b659619e477d66b076b1062569105

Contents?: true

Size: 859 Bytes

Versions: 8

Compression:

Stored size: 859 Bytes

Contents

module Minitest
  module Assertions
    def assert_num_queries(num, &block)
      before = ::Sequel::Rails::Railties::LogSubscriber.count
      res = yield
      after = ::Sequel::Rails::Railties::LogSubscriber.count

      case num
      when Range
        assert num.include?(after - before), "The number of database queries did not match expectations...\nExpected: #{num} (range)\n  Actual: #{after - before}"
      when Integer
        assert num == after - before, "The number of database queries did not match expectations...\nExpected: #{num}\n  Actual: #{after - before}"
      else
        raise ArgumentError, "Invalid argument passed to assert_num_queries: expected a Range or Integer value, but received #{num.inspect} instead."
      end

      res
    end

    def assert_no_queries(&block)
      assert_num_queries(0, &block)
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
sequelize-rails-1.0.0 lib/sequel/rails/minitest.rb
sequelize-rails-0.6.2 lib/sequel/rails/minitest.rb
sequelize-rails-0.6.1 lib/sequel/rails/minitest.rb
sequelize-rails-0.6.0 lib/sequel/rails/minitest.rb
sequelize-rails-0.5.0 lib/sequel/rails/minitest.rb
sequelize-rails-0.4.1 lib/sequel/rails/minitest.rb
sequelize-rails-0.4.0 lib/sequel/rails/minitest.rb
sequelize-rails-0.3.0 lib/sequel/rails/minitest.rb