Sha256: 25651152dad337336476ac941eae4d770b2bf42180238f7d9165afd34d8dff37

Contents?: true

Size: 1.07 KB

Versions: 1

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

RSpec.describe SearchHistoryController do
  routes { Blacklight::Engine.routes }

  describe "index" do
    before(:all) do
      @one = Search.create
      @two = Search.create
      @three = Search.create
    end

    it "only fetches searches with ids in the session" do
      session[:history] = [@one.id, @three.id]
      get :index
      @searches = assigns(:searches)
      expect(@searches).to have(2).searches
      expect(@searches).to include(@one)
      expect(@searches).to include(@three)
      expect(@searches).to_not include(@two)
    end
    
    it "tolerates bad ids in session" do
      session[:history] = [@one.id, @three.id, "NOT_IN_DB"]
      get :index
      @searches = assigns(:searches)
      expect(@searches).to have(2).searches
      expect(@searches).to include(@one)
      expect(@searches).to include(@three)      
    end
    
    it "does not fetch any searches if there is no history" do
      session[:history] = []
      get :index
      @searches = assigns(:searches)
      expect(@searches).to be_empty
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
blacklight-7.0.0.rc1 spec/controllers/search_history_controller_spec.rb