Sha256: 25f6d31c419fdb8a841090450a941d9308c10326fba1928bbf5a606e60ba0790

Contents?: true

Size: 1.34 KB

Versions: 100

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

RSpec.describe "Blacklight::Document::DublinCore" do
  before(:all) do
    @mock_class = Class.new do
      include Blacklight::Document
    end
    @mock_class.use_extension(Blacklight::Document::DublinCore)
    @mock_class.field_semantics.merge!(
      title: :title_tsim,
      non_dc_title: :title_tsim
    )
  end

  it "registers all its export formats" do
    document = @mock_class.new
    expect(document.export_formats.keys).to include :oai_dc_xml, :dc_xml, :xml
  end

  it "exports oai_dc with the proper namespaces" do
    document = @mock_class.new
    expect(document.export_as_oai_dc_xml).to match 'xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"'
  end

  it "includes 'dc:'-prefixed semantic fields" do
    data = { 'id' => '123456', 'title_tsim' => ['654321'] }
    document = @mock_class.new(data)
    expect(document.export_as_oai_dc_xml).to match  'xmlns:dc="http://purl.org/dc/elements/1.1/"'
    expect(document.export_as_oai_dc_xml).to match  '<dc:title>654321</dc:title>'
  end

  it "works with multi-value fields" do
    data = { 'id' => '123456', 'title_tsim' => %w[654321 987] }
    document = @mock_class.new(data)
    expect(document.export_as_oai_dc_xml).to match '<dc:title>654321</dc:title>'
    expect(document.export_as_oai_dc_xml).to match '<dc:title>987</dc:title></oai_dc:dc>'
  end
end

Version data entries

100 entries across 99 versions & 2 rubygems

Version Path
blacklight-7.20.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.20.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.19.2 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.19.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.19.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.18.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.18.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.17.2 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.17.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.17.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.16.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.15.2 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.15.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.15.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.14.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.14.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.13.2 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.13.1 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.13.0 spec/models/blacklight/document/dublin_core_spec.rb
blacklight-7.12.1 spec/models/blacklight/document/dublin_core_spec.rb