Sha256: 5bd44eef5720b6801c4d5aff43a09206ea7b8675e404488c1571af925d77e8e1

Contents?: true

Size: 1.74 KB

Versions: 14

Compression:

Stored size: 1.74 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

RSpec.describe Blacklight::FacetFieldCheckboxesComponent, type: :component do
  subject(:rendered) do
    render_inline_to_capybara_node(described_class.new(facet_field: facet_field))
  end

  let(:facet_field) do
    instance_double(
      Blacklight::FacetFieldPresenter,
      facet_field: Blacklight::Configuration::NullField.new(key: 'field', item_component: Blacklight::FacetItemComponent, item_presenter: Blacklight::FacetItemPresenter),
      paginator: paginator,
      key: 'field',
      label: 'Field',
      active?: false,
      collapsed?: false,
      modal_path: nil,
      search_state: search_state
    )
  end

  let(:paginator) do
    instance_double(Blacklight::FacetPaginator, items: [
                      double(label: 'a', hits: 10, value: 'a'),
                      double(label: 'b', hits: 33, value: 'b'),
                      double(label: 'c', hits: 3, value: 'c')
                    ])
  end

  let(:search_state) { Blacklight::SearchState.new(params.with_indifferent_access, Blacklight::Configuration.new) }
  let(:params) { { f: { field: ['a'] } } }

  it 'renders a collapsible card' do
    expect(rendered).to have_selector '.card'
    expect(rendered).to have_button 'Field'
    expect(rendered).to have_selector 'button[data-bs-target="#facet-field"]'
    expect(rendered).to have_selector '#facet-field.collapse.show'
  end

  it 'renders the facet items' do
    expect(rendered).to have_selector 'ul.facet-values'
    expect(rendered).to have_selector 'li', count: 3

    expect(rendered).to have_field 'f_inclusive[field][]', with: 'a'
    expect(rendered).to have_field 'f_inclusive[field][]', with: 'b'
    expect(rendered).to have_field 'f_inclusive[field][]', with: 'c'
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
blacklight-8.2.2 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.2.1 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.2.0 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.1.0 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.1 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta8 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta7 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta6 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta5 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta4 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta3 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta2 spec/components/blacklight/facet_field_checkboxes_component_spec.rb
blacklight-8.0.0.beta1 spec/components/blacklight/facet_field_checkboxes_component_spec.rb