Sha256: 0fd757f0f69d333e19f53e54c0c99b5fba3a7b53174c1e018d87b5d0dc76b921

Contents?: true

Size: 1.39 KB

Versions: 4

Compression:

Stored size: 1.39 KB

Contents

# frozen_string_literal: true

RSpec.describe SolrDocument do
  describe "access methods" do
    let(:solrdoc) do
      SolrDocument.new(id: '00282214', format: ['Book'], title_display: 'some-title')
    end

    describe "#[]" do
      subject { solrdoc[field] }

      context "with title_display" do
        let(:field) { :title_display }
        it { is_expected.to eq 'some-title' }
      end
      context "with format" do
        let(:field) { :format }
        it { is_expected.to eq ['Book'] }
      end
    end

    describe "#id" do
      subject { solrdoc.id }
      it { is_expected.to eq '00282214' }
    end
  end

  describe '.attribute' do
    subject(:title) { document.title }
    let(:doc_class) do
      Class.new(SolrDocument) do
        attribute :title, Blacklight::Types::String, 'title_tesim'
        attribute :author, Blacklight::Types::Array, 'author_tesim'
        attribute :date, Blacklight::Types::Date, 'date_dtsi'

      end
    end
    let(:document) do
      doc_class.new(id: '123',
                    title_tesim: ['Good Omens'],
                    author_tesim: ['Neil Gaiman', 'Terry Pratchett'],
                    date_dtsi: '1990-01-01T00:00:00Z')
    end

    it "casts the attributes" do
      expect(document.title).to eq 'Good Omens'
      expect(document.author).to eq ['Neil Gaiman', 'Terry Pratchett']
      expect(document.date).to eq Date.new(1990)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
blacklight-6.25.0 spec/models/solr_document_spec.rb
blacklight-6.24.0 spec/models/solr_document_spec.rb
blacklight-6.23.0 spec/models/solr_document_spec.rb
blacklight-6.22.0 spec/models/solr_document_spec.rb