Sha256: 8dcb5846358d611cfffe4caf91b56192264f6703a5db6e779d955e9b14a9076f

Contents?: true

Size: 1.23 KB

Versions: 6

Compression:

Stored size: 1.23 KB

Contents

require 'test_helper'



class RegisterEngineTest < ActiveSupport::TestCase
  class BentoSearch::DummyEngine
    include BentoSearch::SearchEngine
  end
    
  def teardown
    BentoSearch.reset_engine_registrations!
  end
  
  test "can register and retrieve engine" do
    BentoSearch.register_engine("test_engine") do |conf|
      conf.engine = "BentoSearch::DummyEngine"      
      conf.api_key = "dummy"
    end
    
    engine = BentoSearch.get_engine("test_engine")
    
    assert_kind_of BentoSearch::DummyEngine, engine    
    assert_equal "dummy", engine.configuration.api_key
    
  end
  
  test "can register with engine name assumed in BentoSearch::" do
    BentoSearch.register_engine("test_engine") do |conf|
      conf.engine = "DummyEngine"      
      conf.api_key = "dummy"
    end
    
    assert_kind_of BentoSearch::DummyEngine, BentoSearch.get_engine("test_engine")
  end
  
  test "raises for no engine class" do
    assert_raises(ArgumentError) do
      BentoSearch.register_engine("test_engine") do |conf|              
        conf.api_key = "dummy"
      end
    end
  end
  
  
  test "raises on unregistered engine access" do
    assert_raise(BentoSearch::NoSuchEngine) { BentoSearch.get_engine("not_registered")}
  end
  
end
  

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
bento_search-0.9.0 test/unit/register_engine_test.rb
bento_search-0.8.0 test/unit/register_engine_test.rb
bento_search-0.7.0 test/unit/register_engine_test.rb
bento_search-0.6.0 test/unit/register_engine_test.rb
bento_search-0.5.0 test/unit/register_engine_test.rb
bento_search-0.0.1 test/unit/register_engine_test.rb