Sha256: 1f4b277b7added349fc8f44758fd169c35c121aa314f47fc52065628b684b8d5
Contents?: true
Size: 1.51 KB
Versions: 11
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true require 'acceptance/spec_helper' describe 'Accessing attributes directly via search results', :live => true do it "allows access to attribute values" do Book.create! :title => 'American Gods', :year => 2001 index search = Book.search('gods') search.context[:panes] << ThinkingSphinx::Panes::AttributesPane expect(search.first.sphinx_attributes['year']).to eq(2001) end it "provides direct access to the search weight/relevance scores" do Book.create! :title => 'American Gods', :year => 2001 index search = Book.search 'gods', :select => "*, weight()" search.context[:panes] << ThinkingSphinx::Panes::WeightPane expect(search.first.weight).to eq(2500) end it "provides direct access to the weight with alternative primary keys" do album = Album.create! :name => 'Sing to the Moon', :artist => 'Laura Mvula' search = Album.search 'sing', :select => "*, weight()" search.context[:panes] << ThinkingSphinx::Panes::WeightPane expect(search.first.weight).to be >= 1000 end it "can enumerate with the weight" do gods = Book.create! :title => 'American Gods', :year => 2001 index search = Book.search 'gods', :select => "*, weight()" search.masks << ThinkingSphinx::Masks::WeightEnumeratorMask expectations = [[gods, 2500]] search.each_with_weight do |result, weight| expectation = expectations.shift expect(result).to eq(expectation.first) expect(weight).to eq(expectation.last) end end end
Version data entries
11 entries across 11 versions & 1 rubygems