Sha256: c80d3fe428406f35a3e630a3a1c91b89bea8a6b441df5ca61e04362746643097

Contents?: true

Size: 1.65 KB

Versions: 14

Compression:

Stored size: 1.65 KB

Contents

# frozen_string_literal: true

describe 'spotlight/search_configurations/_sort', type: :view do
  let(:exhibit) { FactoryBot.create(:exhibit) }
  let(:f) do
    form_helper = nil
    controller.view_context.bootstrap_form_for(exhibit.blacklight_configuration, url: '/update') do |f|
      form_helper = f
    end
    form_helper
  end

  before do
    original_config = Spotlight::Engine.blacklight_config.deep_dup
    allow(Spotlight::Engine).to receive(:blacklight_config).and_return(original_config)
    original_config.add_sort_field 'some_disabled_field', if: ->(*_args) { false }
    exhibit.blacklight_config.add_sort_field 'sort_title_ssi asc, plus_another_field desc', label: 'TestSort'
    assign(:exhibit, exhibit)
    assign(:blacklight_configuration, exhibit.blacklight_configuration)
    allow(view).to receive_messages(
      current_exhibit: exhibit,
      translate_sort_fields: ''
    )
  end

  it 'has a disabled relevance sort option' do
    render partial: 'spotlight/search_configurations/sort', locals: { f: f }
    expect(rendered).to have_selector "input[name='blacklight_configuration[sort_fields][relevance][enable]'][disabled='disabled']"
  end

  it 'parameterizes the data-id attribute for sort fields (e.g. when no key is supplied and the sort is used as the key)' do
    render partial: 'spotlight/search_configurations/sort', locals: { f: f }
    expect(rendered).to have_css('[data-id="sort_title_ssi-asc-plus_another_field-desc"]')
  end

  it 'hides fields that are configured not to display' do
    render partial: 'spotlight/search_configurations/sort', locals: { f: f }
    expect(rendered).not_to have_css('[data-id="some_disabled_field"]')
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
blacklight-spotlight-3.4.0 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.3.0 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.2.0 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.1.0 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.3 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.2 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.1 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0.rc6 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0.rc5 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0.rc4 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0.rc3 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0.rc2 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb
blacklight-spotlight-3.0.0.rc1 spec/views/spotlight/search_configurations/_sort.html.erb_spec.rb