Sha256: aac38f738a5f872e68d0bd7077283881cce93121db7c532c35f0b4189a9c4bf2

Contents?: true

Size: 1.15 KB

Versions: 1

Compression:

Stored size: 1.15 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
    allow(subject).to receive_messages(current_exhibit: FactoryGirl.create(:exhibit))
  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
      allow(subject).to receive(: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
      allow(subject).to receive(: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.2.0 spec/lib/spotlight/catalog/access_controls_enforcement_spec.rb