Sha256: 33f4bc63d8f3d9baca9fa6fecf44e5b3607287b99c2401a3cac55d7e1b426d4f

Contents?: true

Size: 1.84 KB

Versions: 44

Compression:

Stored size: 1.84 KB

Contents

require 'spec_helper'

describe Krikri::RecordsController, :type => :controller do
  include_context 'with indexed item'

  routes { Krikri::Engine.routes }

  let(:doc_id) { agg.rdf_subject.to_s.split('/').last }

  describe 'GET #index' do
    login_user

    let(:user_query) { 'history' }

    it 'renders the index view' do
      get :index, q: user_query
      expect(response).to render_template('krikri/records/index')
    end

    it 'gives a solr response' do
      get :index, q: user_query
      expect(assigns[:response]).to be_a Blacklight::SolrResponse
    end

    it 'responds to json requests' do
      get :index, q: user_query, format: 'json'
      expect { JSON.parse(response.body) }.not_to raise_error
    end

    context 'with provider filter' do
      it 'sets provider id' do
        get :index, provider: provider.id
        expect(assigns[:provider_id]).to eq provider.id
      end

      it 'finds records with provider' do
        get :index, provider: provider.id
        ids = assigns[:response][:response][:docs].map { |doc| doc[:id] }
        expect(ids).to include agg.rdf_subject.to_s
      end

      it 'filters records by provider' do
        get :index, provider: 'abc'
        expect(assigns[:response][:response][:docs]).to be_empty
      end
    end
  end

  describe 'GET #show' do
    login_user

    it 'renders show view' do
      get :show, id: doc_id
      require 'pry'
      binding.pry unless assigns[:document]

      expect(response).to render_template('krikri/records/show')
    end

    it 'gets document by local name' do
      get :show, id: doc_id

      expect(assigns[:document][:id]).to eq agg.rdf_subject.to_s
    end

    context 'with provider filter' do
      it 'sets provider id' do
        get :show, id: doc_id, provider: provider.id
        expect(assigns[:provider_id]).to eq provider.id
      end
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
krikri-0.15.2 spec/controllers/records_controller_spec.rb
krikri-0.15.1 spec/controllers/records_controller_spec.rb
krikri-0.15.0 spec/controllers/records_controller_spec.rb
krikri-0.14.0 spec/controllers/records_controller_spec.rb
krikri-0.13.2 spec/controllers/records_controller_spec.rb
krikri-0.13.1 spec/controllers/records_controller_spec.rb
krikri-0.13.0 spec/controllers/records_controller_spec.rb
krikri-0.12.4 spec/controllers/records_controller_spec.rb
krikri-0.12.3 spec/controllers/records_controller_spec.rb
krikri-0.12.1 spec/controllers/records_controller_spec.rb
krikri-0.12.0 spec/controllers/records_controller_spec.rb
krikri-0.12.0.pre.rc.1 spec/controllers/records_controller_spec.rb
krikri-0.11.2 spec/controllers/records_controller_spec.rb
krikri-0.11.1 spec/controllers/records_controller_spec.rb
krikri-0.11.0 spec/controllers/records_controller_spec.rb
krikri-0.10.1 spec/controllers/records_controller_spec.rb
krikri-0.10.0 spec/controllers/records_controller_spec.rb
krikri-0.9.0 spec/controllers/records_controller_spec.rb
krikri-0.8.9 spec/controllers/records_controller_spec.rb
krikri-0.8.8 spec/controllers/records_controller_spec.rb