Sha256: b7fd1ecf8b008732075e89b61f0f7a88ac6dfa7a7d9e1233627aa865c7854f05

Contents?: true

Size: 1.24 KB

Versions: 8

Compression:

Stored size: 1.24 KB

Contents

require 'spec_helper'

describe Cirneco::DataCenter, vcr: true, :order => :defined do
  let(:prefix) { ENV['PREFIX'] }
  let(:username) { ENV['MDS_USERNAME'] }
  let(:password) { ENV['MDS_PASSWORD'] }
  let(:options) { { username: username, password: password, sandbox: true } }

  subject { Cirneco::DataCenter.new(prefix: prefix,
                                    username: username,
                                    password: password) }

  describe "get" do
    it 'should get all dois by prefix' do
      response = subject.get_dois_by_prefix(prefix, options)
      dois = response.body["data"]
      expect(dois.length).to eq(4)
      expect(dois.first).to eq("10.23725/0000-03VC")
    end
  end

  describe "base32" do
    it 'should decode doi' do
      doi = "10.23725/0000-03WD"
      expect(subject.decode_doi(doi)).to eq(124)
    end

    it 'should decode doi not encoded' do
      doi = "10.23725/MDS-CLIENT-RUBY-TEST"
      expect(subject.decode_doi(doi)).to eq(0)
    end

    it 'should encode doi' do
      number = 123
      expect(subject.encode_doi(prefix, number: number)).to eq("10.23725/0000-03VC")
    end

    it 'should encode doi random number' do
      expect(subject.encode_doi(prefix)).to start_with("10.23725")
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
cirneco-0.4.9 spec/utils_spec.rb
cirneco-0.4.8 spec/utils_spec.rb
cirneco-0.4.7 spec/utils_spec.rb
cirneco-0.4.6 spec/utils_spec.rb
cirneco-0.4.5 spec/utils_spec.rb
cirneco-0.4 spec/utils_spec.rb
cirneco-0.3.3 spec/utils_spec.rb
cirneco-0.3.1 spec/utils_spec.rb