Add basic search specs for chewy indexes (#24065)
This commit is contained in:
		
							parent
							
								
									3ea0856f70
								
							
						
					
					
						commit
						1ed12d5e2f
					
				
					 4 changed files with 95 additions and 0 deletions
				
			
		
							
								
								
									
										31
									
								
								spec/chewy/accounts_index_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								spec/chewy/accounts_index_spec.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'rails_helper'
 | 
			
		||||
 | 
			
		||||
describe AccountsIndex do
 | 
			
		||||
  describe 'Searching the index' do
 | 
			
		||||
    before do
 | 
			
		||||
      mock_elasticsearch_response(described_class, raw_response)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'returns results from a query' do
 | 
			
		||||
      results = described_class.query(match: { name: 'account' })
 | 
			
		||||
 | 
			
		||||
      expect(results).to eq []
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def raw_response
 | 
			
		||||
    {
 | 
			
		||||
      took: 3,
 | 
			
		||||
      hits: {
 | 
			
		||||
        hits: [
 | 
			
		||||
          {
 | 
			
		||||
            _id: '0',
 | 
			
		||||
            _score: 1.6375021,
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										31
									
								
								spec/chewy/statuses_index_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								spec/chewy/statuses_index_spec.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'rails_helper'
 | 
			
		||||
 | 
			
		||||
describe StatusesIndex do
 | 
			
		||||
  describe 'Searching the index' do
 | 
			
		||||
    before do
 | 
			
		||||
      mock_elasticsearch_response(described_class, raw_response)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'returns results from a query' do
 | 
			
		||||
      results = described_class.query(match: { name: 'status' })
 | 
			
		||||
 | 
			
		||||
      expect(results).to eq []
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def raw_response
 | 
			
		||||
    {
 | 
			
		||||
      took: 3,
 | 
			
		||||
      hits: {
 | 
			
		||||
        hits: [
 | 
			
		||||
          {
 | 
			
		||||
            _id: '0',
 | 
			
		||||
            _score: 1.6375021,
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										31
									
								
								spec/chewy/tags_index_spec.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								spec/chewy/tags_index_spec.rb
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
# frozen_string_literal: true
 | 
			
		||||
 | 
			
		||||
require 'rails_helper'
 | 
			
		||||
 | 
			
		||||
describe TagsIndex do
 | 
			
		||||
  describe 'Searching the index' do
 | 
			
		||||
    before do
 | 
			
		||||
      mock_elasticsearch_response(described_class, raw_response)
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    it 'returns results from a query' do
 | 
			
		||||
      results = described_class.query(match: { name: 'tag' })
 | 
			
		||||
 | 
			
		||||
      expect(results).to eq []
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def raw_response
 | 
			
		||||
    {
 | 
			
		||||
      took: 3,
 | 
			
		||||
      hits: {
 | 
			
		||||
        hits: [
 | 
			
		||||
          {
 | 
			
		||||
            _id: '0',
 | 
			
		||||
            _score: 1.6375021,
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
    }
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
| 
						 | 
				
			
			@ -10,6 +10,7 @@ require 'rspec/rails'
 | 
			
		|||
require 'webmock/rspec'
 | 
			
		||||
require 'paperclip/matchers'
 | 
			
		||||
require 'capybara/rspec'
 | 
			
		||||
require 'chewy/rspec'
 | 
			
		||||
 | 
			
		||||
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -45,6 +46,7 @@ RSpec.configure do |config|
 | 
			
		|||
  config.include Devise::Test::ControllerHelpers, type: :view
 | 
			
		||||
  config.include Paperclip::Shoulda::Matchers
 | 
			
		||||
  config.include ActiveSupport::Testing::TimeHelpers
 | 
			
		||||
  config.include Chewy::Rspec::Helpers
 | 
			
		||||
  config.include Redisable
 | 
			
		||||
 | 
			
		||||
  config.before :each, type: :feature do
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue