Sha256: 33ab6838f4007f92fdae7fa97d0a61ca7bd59bd69a8c1dc96870d2d8b9ce6330

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'spec_helper'

describe Spotlight::Catalog::AccessControlsEnforcement do
  class MockCatalogController
    include Blacklight::SolrHelper
    include Spotlight::Catalog::AccessControlsEnforcement
  end

  subject { MockCatalogController.new }
  let(:solr_request) { Blacklight::Solr::Request.new }

  before do
    subject.stub(current_exhibit: Spotlight::Exhibit.default)
  end

  describe "#apply_permissive_visibility_filter" do
    it "should add the filter to the params logic" do
      expect(subject.solr_search_params_logic).to include :apply_permissive_visibility_filter 
    end

    it "should allow curators to view everything" do
      subject.stub(:can?).and_return(true)
      subject.send(:apply_permissive_visibility_filter, solr_request, {})
      expect(solr_request.to_hash).to be_empty
    end

    it "should restrict searches to public items" do
      subject.stub(:can?).and_return(false)

      subject.send(:apply_permissive_visibility_filter, solr_request, {})
      expect(solr_request).to include :fq
      expect(solr_request[:fq]).to include "-exhibit_1_public_bsi:false"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blacklight-spotlight-0.0.3 spec/lib/spotlight/catalog/access_controls_enforcement_spec.rb