Sha256: 39dba35c7fd63439989bfdcf0d9a4d139e3a0e8d26a2712b6d49d8f10f2092d5
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
require 'spec_helper' describe Elasticsearch::Model::Searching::ClassMethods do before(:all) do class ::DummySearchingModel extend Elasticsearch::Model::Searching::ClassMethods def self.index_name; 'foo'; end def self.document_type; 'bar'; end end end after(:all) do remove_classes(DummySearchingModel) end it 'has the search method' do expect(DummySearchingModel).to respond_to(:search) end describe '#search' do let(:response) do double('search', execute!: { 'hits' => {'hits' => [ {'_id' => 2 }, {'_id' => 1 } ]} }) end before do expect(Elasticsearch::Model::Searching::SearchRequest).to receive(:new).with(DummySearchingModel, 'foo', { default_operator: 'AND' }).and_return(response) end it 'creates a search object' do expect(DummySearchingModel.search('foo', default_operator: 'AND')).to be_a(Elasticsearch::Model::Response::Response) end end describe 'lazy execution' do let(:response) do double('search').tap do |r| expect(r).to receive(:execute!).never end end it 'does not execute the search until the results are accessed' do DummySearchingModel.search('foo') end end end
Version data entries
3 entries across 3 versions & 1 rubygems