Sha256: e3b3da9ee104728c09c34d544fc1001ca7dd67069553620fc44fa11060c27e68

Contents?: true

Size: 1.82 KB

Versions: 14

Compression:

Stored size: 1.82 KB

Contents

# frozen_string_literal: true

RSpec.describe "catalog/_view_type_group" do
  let(:blacklight_config) { Blacklight::Configuration.new }
  let(:response) { instance_double(Blacklight::Solr::Response, empty?: false) }

  before do
    allow(view).to receive_messages(blacklight_config: blacklight_config)
    controller.request.path_parameters[:action] = 'index'
    assign(:response, response)
  end

  it "does not display the group when there's no documents to view" do
    blacklight_config.configure do |config|
      config.view.a(icon: :list)
      config.view.b(icon: :list)
    end

    allow(response).to receive_messages(empty?: true)
    render partial: 'catalog/view_type_group'
    expect(rendered).to be_empty
  end

  it "does not display the group when there's only one option" do
    render partial: 'catalog/view_type_group'
    expect(rendered).to be_empty
  end

  it "displays the group" do
    blacklight_config.configure do |config|
      config.view.delete(:list)
      config.view.a(icon: :list)
      config.view.b(icon: :list)
      config.view.c(icon: :list)
    end
    render partial: 'catalog/view_type_group'
    expect(rendered).to have_selector('.btn-group.view-type-group')
    expect(rendered).to have_selector('.view-type-a', text: 'A')
    within '.view-type-a' do
      expect(rendered).to have_selector 'svg'
    end
    expect(rendered).to have_selector('.view-type-b', text: 'B')
    expect(rendered).to have_selector('.view-type-c', text: 'C')
  end

  it "sets the current view to 'active'" do
    blacklight_config.configure do |config|
      config.view.delete(:list)
      config.view.a(icon: :list)
      config.view.b(icon: :list)
    end
    render partial: 'catalog/view_type_group'
    expect(rendered).to have_selector('.active', text: 'A')
    expect(rendered).not_to have_selector('.active', text: 'B')
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
blacklight-8.2.2 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.2.1 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.2.0 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.1.0 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.1 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta8 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta7 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta6 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta5 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta4 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta3 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta2 spec/views/catalog/_view_type_group.html.erb_spec.rb
blacklight-8.0.0.beta1 spec/views/catalog/_view_type_group.html.erb_spec.rb