Module: Quo::Minitest::Helpers

Includes:
Testing::FakeHelpers
Defined in:
lib/quo/minitest/helpers.rb,
sig/generated/quo/minitest/helpers.rbs

Overview

Test helpers for stubbing query objects in Minitest

Instance Method Summary collapse

Methods included from Testing::FakeHelpers

#build_fake_class

Instance Method Details

#fake_query(query_class, results: [], total_count: nil, page_count: nil, &block) ⇒ void

This method returns an undefined value.

Parameters:

  • query_class (Object)
  • results: (Object) (defaults to: [])
  • total_count: (Object) (defaults to: nil)
  • page_count: (Object) (defaults to: nil)


17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/quo/minitest/helpers.rb', line 17

def fake_query(query_class, results: [], total_count: nil, page_count: nil, &block)
  unless query_class < Quo::Query
    raise ArgumentError, "Not a Query class: #{query_class}"
  end

  klass = build_fake_class(query_class)
  query_class.stub(:new, ->(**kwargs) {
    klass.new(results: results, total_count: total_count, page_count: page_count)
  }) do
    yield
  end
end