Sha256: 02714776d3725f569cdd5852286a75d8da7952a64de3d941165efc68b41a4ccc

Contents?: true

Size: 1.39 KB

Versions: 4

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Blacklight::SearchContext::ServerAppliedParamsComponent, type: :component do
  subject(:render) { instance.render_in(view_context) }

  let(:instance) { described_class.new }
  let(:current_search_session) { nil }
  let(:view_context) { controller.view_context }

  before do
    # Not sure why we need to re-implement rspec's stub_template, but
    # we already were, and need a Rails 7.1+ safe alternate too
    # https://github.com/rspec/rspec-rails/commit/4d65bea0619955acb15023b9c3f57a3a53183da8
    # https://github.com/rspec/rspec-rails/issues/2696
    replace_hash = { 'application/_start_over.html.erb' => 'start over' }
    if ::Rails.version.to_f >= 7.1
      controller.prepend_view_path(RSpec::Rails::ViewExampleGroup::StubResolverCache.resolver_for(replace_hash))
    else
      view_context.view_paths.unshift(RSpec::Rails::ViewExampleGroup::StubResolverCache.resolver_for(replace_hash))
    end

    allow(view_context).to receive(:current_search_session).and_return current_search_session
    allow(view_context).to receive(:link_back_to_catalog).with(any_args)
  end

  it 'is blank without current session' do
    expect(render).to be_blank
  end

  context 'with current session' do
    let(:current_search_session) { double(query_params: { q: 'abc' }) }

    it 'is not blank' do
      expect(render).not_to be_blank
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
blacklight-8.2.2 spec/components/blacklight/search_context/server_applied_params_component_spec.rb
blacklight-8.2.1 spec/components/blacklight/search_context/server_applied_params_component_spec.rb
blacklight-8.2.0 spec/components/blacklight/search_context/server_applied_params_component_spec.rb
blacklight-8.1.0 spec/components/blacklight/search_context/server_applied_params_component_spec.rb