Sha256: d84ac13e87ea1d269cbc7802831b03cd317aeb79ec2b19454e2db5925a862824

Contents?: true

Size: 1.42 KB

Versions: 3

Compression:

Stored size: 1.42 KB

Contents

require 'spec_helper'

module Datacite
  module Mapping
    module Nonvalidating
      describe Identifier do
        describe '#load_from_xml' do
          it 'parses a valid identifier' do
            xml_text = "<identifier identifierType='DOI'>10.14749/1407399498</identifier>"
            id = Identifier.parse_xml(xml_text, mapping: :nonvalidating)
            expect(id.identifier_type).to eq('DOI')
            expect(id.value).to eq('10.14749/1407399498')
          end

          it 'parses an identifier with a missing value' do
            xml_text = "<identifier identifierType='DOI'/>"
            id = Identifier.parse_xml(xml_text, mapping: :nonvalidating)
            expect(id.identifier_type).to eq('DOI')
            expect(id.value).to be_nil
          end
        end

        describe '#save_to_xml' do
          it 'writes a valid identifier' do
            xml_text = "<identifier identifierType='DOI'>10.14749/1407399498</identifier>"
            id = Identifier.parse_xml(xml_text, mapping: :nonvalidating)
            expect(id.write_xml(mapping: :nonvalidating)).to be_xml(xml_text)
          end
          it 'writes an identifier with a missing value' do
            xml_text = "<identifier identifierType='DOI'/>"
            id = Identifier.parse_xml(xml_text, mapping: :nonvalidating)
            expect(id.write_xml(mapping: :nonvalidating)).to be_xml(xml_text)
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
datacite-mapping-0.1.17.1 spec/unit/datacite/mapping/nonvalidating/identifier_spec.rb
datacite-mapping-0.1.17 spec/unit/datacite/mapping/nonvalidating/identifier_spec.rb
datacite-mapping-0.1.16 spec/unit/datacite/mapping/nonvalidating/identifier_spec.rb