Sha256: 019cae07b286f2e237acb9d697128490b20f705a538ec2ea734e819f57a520d0

Contents?: true

Size: 1.99 KB

Versions: 31

Compression:

Stored size: 1.99 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Bolognese::Metadata, vcr: true do
  context "write metadata as codemeta" do
    it "SoftwareSourceCode DataCite JSON" do
      input = fixture_path + "datacite_software.json"
      subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
      expect(subject.valid?).to be true
      json = JSON.parse(subject.codemeta)
      expect(json["@context"]).to eq("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
      expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
      expect(json["@type"]).to eq("SoftwareSourceCode")
      expect(json["identifier"]).to eq("https://doi.org/10.5063/f1m61h5x")
      expect(json["agents"]).to eq("type"=>"Person", "name"=>"Matthew B. Jones", "givenName"=>"Matthew B.", "familyName"=>"Jones")
      expect(json["title"]).to eq("dataone: R interface to the DataONE network of data repositories")
      expect(json["datePublished"]).to eq("2016")
      expect(json["publisher"]).to eq("KNB Data Repository")
    end

    it "SoftwareSourceCode DataCite" do
      input = "https://doi.org/10.5063/f1m61h5x"
      subject = Bolognese::Metadata.new(input: input, from: "datacite")
      expect(subject.valid?).to be true
      json = JSON.parse(subject.codemeta)
      expect(json["@context"]).to eq("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
      expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
      expect(json["@type"]).to eq("SoftwareSourceCode")
      expect(json["identifier"]).to eq("https://doi.org/10.5063/f1m61h5x")
      expect(json["agents"]).to eq("name"=>"Jones, Matthew B.; Slaughter, Peter; Nahf, Rob; Boettiger, Carl ; Jones, Chris; Read, Jordan; Walker, Lauren; Hart, Edmund; Chamberlain, Scott")
      expect(json["title"]).to eq("dataone: R interface to the DataONE network of data repositories")
      expect(json["datePublished"]).to eq("2016")
      expect(json["publisher"]).to eq("KNB Data Repository")
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
bolognese-0.15.9 spec/writers/codemeta_writer_spec.rb
bolognese-0.15.8 spec/writers/codemeta_writer_spec.rb
bolognese-1.0.6 spec/writers/codemeta_writer_spec.rb
bolognese-1.0.5 spec/writers/codemeta_writer_spec.rb
bolognese-1.0.4 spec/writers/codemeta_writer_spec.rb
bolognese-0.15.6 spec/writers/codemeta_writer_spec.rb
bolognese-1.0.3 spec/writers/codemeta_writer_spec.rb
bolognese-1.0.2 spec/writers/codemeta_writer_spec.rb
bolognese-1.0.1 spec/writers/codemeta_writer_spec.rb
bolognese-1.0 spec/writers/codemeta_writer_spec.rb
bolognese-0.15.3 spec/writers/codemeta_writer_spec.rb
bolognese-0.15.1 spec/writers/codemeta_writer_spec.rb
bolognese-0.14.1 spec/writers/codemeta_writer_spec.rb
bolognese-0.14 spec/writers/codemeta_writer_spec.rb
bolognese-0.13.6 spec/writers/codemeta_writer_spec.rb
bolognese-0.13.4 spec/writers/codemeta_writer_spec.rb
bolognese-0.13.3 spec/writers/codemeta_writer_spec.rb
bolognese-0.13.2 spec/writers/codemeta_writer_spec.rb
bolognese-0.13.1 spec/writers/codemeta_writer_spec.rb
bolognese-0.12.3 spec/writers/codemeta_writer_spec.rb