Sha256: 61f5c4cd98fd7ae7f7dcd3caf727c22c44a3f7e5accfb2b6c91335b355c074b1

Contents?: true

Size: 1.1 KB

Versions: 38

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Picky::API::Search::Boost do
  let(:object) do
    Class.new do
      include Picky::API::Search::Boost
    end.new
  end
  context 'extract_weight' do
    context 'with a Hash' do
      it 'returns a boosts object' do
        combinations = [
          stub(:combination, :category_name => :bla)
        ]

        object.extract_boosts([:bla] => +7.77).boost_for(combinations).should == 7.77
      end
    end
    context 'with a boosts object' do
      let(:booster) do
        Class.new do
          def boost_for whatever
            7.0
          end
        end.new
      end
      it 'returns a boosts object' do
        object.extract_boosts(booster).boost_for(:anything).should == 7.0
      end
    end
    context 'invalid weight' do
      it 'raises with a nice error message' do
        expect {
          object.extract_boosts Object.new
        }.to raise_error(<<-ERROR)
boost options for a Search should be either
* for example a Hash { [:name, :surname] => +3 }
or
* an object that responds to #boost_for(combinations) and returns a boost float
ERROR
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
picky-4.6.3 spec/lib/api/search/boost_spec.rb
picky-4.6.2 spec/lib/api/search/boost_spec.rb
picky-4.6.1 spec/lib/api/search/boost_spec.rb
picky-4.6.0 spec/lib/api/search/boost_spec.rb
picky-4.5.12 spec/lib/api/search/boost_spec.rb
picky-4.5.11 spec/lib/api/search/boost_spec.rb
picky-4.5.10 spec/lib/api/search/boost_spec.rb
picky-4.5.9 spec/lib/api/search/boost_spec.rb
picky-4.5.8 spec/lib/api/search/boost_spec.rb
picky-4.5.7 spec/lib/api/search/boost_spec.rb
picky-4.5.6 spec/lib/api/search/boost_spec.rb
picky-4.5.5 spec/lib/api/search/boost_spec.rb
picky-4.5.4 spec/lib/api/search/boost_spec.rb
picky-4.5.3 spec/lib/api/search/boost_spec.rb
picky-4.5.2 spec/lib/api/search/boost_spec.rb
picky-4.5.1 spec/lib/api/search/boost_spec.rb
picky-4.5.0 spec/lib/api/search/boost_spec.rb
picky-4.4.2 spec/lib/api/search/boost_spec.rb
picky-4.4.1 spec/lib/api/search/boost_spec.rb
picky-4.4.0 spec/lib/api/search/boost_spec.rb