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

Version Path
thinking-sphinx-5.3.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-5.2.1 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-5.2.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-5.1.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-5.0.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-4.4.1 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-4.4.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-4.3.2 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-4.3.1 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-4.3.0 spec/acceptance/attribute_access_spec.rb
thinking-sphinx-4.2.0 spec/acceptance/attribute_access_spec.rb