Module: Esse::RSpec::ClassMethods

Defined in:
lib/esse/rspec/class_methods.rb

Instance Method Summary collapse

Instance Method Details

#stub_esse_class(name, superclass = nil, &block) ⇒ Object



15
16
17
18
# File 'lib/esse/rspec/class_methods.rb', line 15

def stub_esse_class(name, superclass = nil, &block)
  klass = Class.new(superclass || Object, &block)
  stub_const(Esse::Hstring.new(name).camelize.to_s, klass)
end

#stub_esse_index(name, superclass = nil, &block) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/esse/rspec/class_methods.rb', line 7

def stub_esse_index(name, superclass = nil, &block)
  superclass ||= ::Esse::Index
  klass_name = "#{::Esse::Hstring.new(name).camelize.sub(/Index$/, "")}Index"
  klass = stub_esse_class(klass_name, superclass)
  klass.class_eval(&block) if block
  klass
end

#stub_esse_search(*cluster_and_indexes, **definition) ⇒ Object

Let’s deprecated this method



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/esse/rspec/class_methods.rb', line 20

def stub_esse_search(*cluster_and_indexes, **definition) # Let's deprecated this method
  target = cluster_and_indexes.shift
  if target.is_a?(Symbol) || target.is_a?(String) && Esse.config.cluster_ids.include?(target.to_sym)
    target = Esse.cluster(target)
    definition[:index] ||= Esse::Search::Query.normalize_indices(*cluster_and_indexes)
  elsif target.is_a?(String) || target.is_a?(Symbol)
    definition[:index] ||= Esse::Search::Query.normalize_indices(target.to_s)
    target = Esse.cluster
  end

  response = yield
  expect(target).to esse_receive_request(:search).with(**definition).and_return(response)
end