spec/readers/crossref_reader_spec.rb in briard-2.7.1 vs spec/readers/crossref_reader_spec.rb in briard-2.8.0
- old
+ new
@@ -52,105 +52,98 @@
'funderIdentifierType' => 'Crossref Funder ID',
'funderName' => 'Swiss National Science Foundation' },
{ 'funderIdentifier' => 'https://doi.org/10.13039/501100006390',
'funderIdentifierType' => 'Crossref Funder ID',
'funderName' => 'University of Lausanne' }])
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'journal article' do
input = 'https://doi.org/10.1371/journal.pone.0000030'
- subject = described_class.new(input: input)
+ subject = described_class.new(input: input, from: 'crossref_json')
expect(subject.valid?).to be true
expect(subject.id).to eq('https://doi.org/10.1371/journal.pone.0000030')
- expect(subject.identifiers).to eq([{ 'identifier' => '10.1371/journal.pone.0000030',
- 'identifierType' => 'Publisher ID' }])
expect(subject.url).to eq('https://dx.plos.org/10.1371/journal.pone.0000030')
expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(5)
- expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Ralser, Markus',
- 'givenName' => 'Markus', 'familyName' => 'Ralser')
+ expect(subject.creators.first).to eq('name' => 'Ralser, Markus', 'givenName' => 'Markus', 'familyName' => 'Ralser', 'nameType' => 'Personal')
expect(subject.contributors).to eq([{ 'contributorType' => 'Editor', 'familyName' => 'Janbon',
- 'givenName' => 'Guilhem', 'name' => 'Janbon, Guilhem', 'nameType' => 'Personal' }])
- expect(subject.titles).to eq([{ 'title' => 'Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization???Not Catalytic Inactivity???of the Mutant Enzymes' }])
+ 'givenName' => 'Guilhem', 'name' => 'Janbon, Guilhem', "nameType"=>"Personal" }])
+ expect(subject.titles).to eq([{ 'title' => "Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization–Not Catalytic Inactivity–of the Mutant Enzymes"}])
expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 4.0 International',
'rightsIdentifier' => 'cc-by-4.0',
'rightsIdentifierScheme' => 'SPDX',
'rightsUri' => 'https://creativecommons.org/licenses/by/4.0/legalcode',
'schemeUri' => 'https://spdx.org/licenses/' }])
expect(subject.dates).to eq([{ 'date' => '2006-12-20', 'dateType' => 'Issued' },
- { 'date' => '2021-08-06T23:49:55Z', 'dateType' => 'Updated' }])
+ { 'date' => '2021-08-06', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2006')
expect(subject.publisher).to eq('Public Library of Science (PLoS)')
expect(subject.related_identifiers.length).to eq(68)
expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1932-6203',
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.related_identifiers.last).to eq(
'relatedIdentifier' => '10.1056/nejm199109123251104', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
)
expect(subject.container).to eq('firstPage' => 'e30', 'identifier' => '1932-6203',
'identifierType' => 'ISSN', 'issue' => '1', 'title' => 'PLoS ONE', 'type' => 'Journal', 'volume' => '1')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'journal article with funding' do
input = 'https://doi.org/10.3389/fpls.2019.00816'
- subject = described_class.new(input: input)
+ subject = described_class.new(input: input, from: 'crossref_json')
expect(subject.valid?).to be true
expect(subject.id).to eq('https://doi.org/10.3389/fpls.2019.00816')
- expect(subject.identifiers).to eq([{ 'identifier' => '816',
- 'identifierType' => 'article_number' }])
expect(subject.url).to eq('https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full')
expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(4)
- expect(subject.creators.first).to eq('familyName' => 'Fortes', 'givenName' => 'Ana Margarida',
- 'name' => 'Fortes, Ana Margarida', 'nameType' => 'Personal')
+ expect(subject.creators.first).to eq('familyName' => 'Fortes', 'givenName' => 'Ana Margarida', 'name' => 'Fortes, Ana Margarida')
expect(subject.titles).to eq([{ 'title' => 'Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress' }])
expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 4.0 International',
'rightsIdentifier' => 'cc-by-4.0',
'rightsIdentifierScheme' => 'SPDX',
'rightsUri' => 'https://creativecommons.org/licenses/by/4.0/legalcode',
'schemeUri' => 'https://spdx.org/licenses/' }])
expect(subject.dates).to eq([{ 'date' => '2019-07-02', 'dateType' => 'Issued' },
- { 'date' => '2019-09-22T06:40:23Z', 'dateType' => 'Updated' }])
+ { 'date' => '2019-09-22', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2019')
expect(subject.publisher).to eq('Frontiers Media SA')
expect(subject.funding_references).to eq([{ 'awardNumber' => 'CA17111',
'funderIdentifier' => 'https://doi.org/10.13039/501100000921', 'funderIdentifierType' => 'Crossref Funder ID', 'funderName' => 'COST (European Cooperation in Science and Technology)' }])
expect(subject.related_identifiers.length).to eq(70)
expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1664-462X',
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.related_identifiers.last).to eq(
'relatedIdentifier' => '10.17660/actahortic.2004.632.41', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
)
- expect(subject.container).to eq('firstPage' => '816', 'identifier' => '1664-462X',
+ expect(subject.container).to eq('identifier' => '1664-462X',
'identifierType' => 'ISSN', 'title' => 'Frontiers in Plant Science', 'type' => 'Journal', 'volume' => '10')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'journal article original language title' do
input = 'https://doi.org/10.7600/jspfsm.56.60'
- subject = described_class.new(input: input)
+ subject = described_class.new(input: input, from: 'crossref_json')
expect(subject.valid?).to be true
expect(subject.id).to eq('https://doi.org/10.7600/jspfsm.56.60')
- expect(subject.url).to eq('https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja/')
+ expect(subject.url).to eq('https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja')
expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
- expect(subject.titles).to eq([{ 'lang' => 'ja',
- 'title' => '??????????????????????????????' }])
+ expect(subject.titles).to eq([{"title"=>":(unav)"}])
expect(subject.dates).to include({ 'date' => '2007', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2007')
expect(subject.publisher).to eq('The Japanese Society of Physical Fitness and Sports Medicine')
expect(subject.related_identifiers.length).to eq(8)
expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1881-4751',
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.container).to eq('firstPage' => '60', 'identifier' => '1881-4751',
'identifierType' => 'ISSN', 'issue' => '1', 'lastPage' => '60', 'title' => 'Japanese Journal of Physical Fitness and Sports Medicine', 'type' => 'Journal', 'volume' => '56')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'journal article with RDF for container' do
input = 'https://doi.org/10.1163/1937240X-00002096'
subject = described_class.new(input: input)
@@ -171,11 +164,11 @@
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1002/aqc.1122',
'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
expect(subject.container).to eq('firstPage' => '949', 'identifier' => '1937-240X',
'identifierType' => 'ISSN', 'issue' => '6', 'lastPage' => '961', 'title' => 'Journal of Crustacean Biology', 'type' => 'Journal', 'volume' => '32')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'book chapter with RDF for container' do
input = '10.1007/978-3-642-33191-6_49'
subject = described_class.new(input: input)
@@ -196,11 +189,11 @@
expect(subject.related_identifiers.first).to eq(
'relatedIdentifier' => '10.1007/978-3-540-24670-1_3', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
)
expect(subject.container).to eq('identifier' => '1611-3349', 'identifierType' => 'ISSN',
'title' => 'Lecture Notes in Computer Science', 'type' => 'Book Series')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'posted_content' do
input = 'https://doi.org/10.1101/097196'
subject = described_class.new(input: input)
@@ -217,20 +210,20 @@
'identifierType' => 'pisa' }])
expect(subject.descriptions.first['description']).to start_with('This article presents a practical roadmap')
expect(subject.dates).to include({ 'date' => '2017-10-09', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2017')
expect(subject.publisher).to eq('Cold Spring Harbor Laboratory')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'peer review' do
input = 'https://doi.org/10.7554/elife.55167.sa2'
subject = described_class.new(input: input)
expect(subject.valid?).to be true
expect(subject.url).to eq('https://elifesciences.org/articles/55167#sa2')
expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
- 'resourceType' => 'PeerReview', 'resourceTypeGeneral' => 'PeerReview', 'ris' => 'JOUR', 'schemaOrg' => 'Review')
+ 'resourceType' => 'PeerReview', 'resourceTypeGeneral' => 'PeerReview', 'ris' => 'GEN', 'schemaOrg' => 'Review')
expect(subject.creators.count).to eq(8)
expect(subject.creators.last).to eq('affiliation' => [{ 'name' => 'Center for Computational Mathematics, Flatiron Institute, New York, United States' }],
'familyName' => 'Barnett',
'givenName' => 'Alex H',
'name' => 'Barnett, Alex H',
@@ -240,11 +233,11 @@
expect(subject.identifiers.empty?).to be(true)
expect(subject.descriptions.empty?).to be(true)
expect(subject.dates).to include({ 'date' => '2020-05-19', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2020')
expect(subject.publisher).to eq('eLife Sciences Publications, Ltd')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'dissertation' do
input = 'https://doi.org/10.14264/uql.2020.791'
subject = described_class.new(input: input)
@@ -262,14 +255,14 @@
'nameType' => 'Personal' }])
expect(subject.titles).to eq([{ 'title' => 'School truancy and financial independence during emerging adulthood: a longitudinal analysis of receipt of and reliance on cash transfers' }])
expect(subject.id).to eq('https://doi.org/10.14264/uql.2020.791')
expect(subject.identifiers.empty?).to be(true)
expect(subject.descriptions.empty?).to be(true)
- expect(subject.dates).to include({ 'date' => '2020-06-08', 'dateType' => 'Issued' })
+ expect(subject.dates).to eq([{"date"=>"2020-06-08", "dateType"=>"Issued"}, {"date"=>"2020-06-08T05:08:59Z", "dateType"=>"Updated"}])
expect(subject.publication_year).to eq('2020')
expect(subject.publisher).to eq('University of Queensland Library')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'DOI with SICI DOI' do
input = 'https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2'
subject = described_class.new(input: input)
@@ -293,11 +286,11 @@
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1098/rspb.2002.2213',
'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
expect(subject.container).to eq('firstPage' => '2832', 'identifier' => '0012-9658',
'identifierType' => 'ISSN', 'issue' => '11', 'lastPage' => '2841', 'title' => 'Ecology', 'type' => 'Journal', 'volume' => '87')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'DOI with ORCID ID' do
input = 'https://doi.org/10.1155/2012/291294'
subject = described_class.new(input: input)
@@ -323,11 +316,11 @@
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1378/chest.12-0045',
'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
expect(subject.container).to eq('firstPage' => '1', 'identifier' => '2090-1844',
'identifierType' => 'ISSN', 'lastPage' => '7', 'title' => 'Pulmonary Medicine', 'type' => 'Journal', 'volume' => '2012')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'date in future' do
input = 'https://doi.org/10.1016/j.ejphar.2015.03.018'
subject = described_class.new(input: input)
@@ -607,11 +600,11 @@
{ 'relatedIdentifier' => '10.1111/hiv.12134',
'relatedIdentifierType' => 'DOI',
'relationType' => 'References' }])
expect(subject.container).to eq('firstPage' => '303', 'identifier' => '0014-2999',
'identifierType' => 'ISSN', 'lastPage' => '312', 'title' => 'European Journal of Pharmacology', 'type' => 'Journal', 'volume' => '759')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'vor with url' do
input = 'https://doi.org/10.1038/hdy.2013.26'
subject = described_class.new(input: input)
@@ -630,49 +623,49 @@
expect(subject.related_identifiers.size).to eq(35)
expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1365-2540',
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.container).to eq('firstPage' => '122', 'identifier' => '1365-2540',
'identifierType' => 'ISSN', 'issue' => '2', 'lastPage' => '130', 'title' => 'Heredity', 'type' => 'Journal', 'volume' => '111')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'dataset' do
input = '10.2210/pdb4hhb/pdb'
subject = described_class.new(input: input)
expect(subject.valid?).to be true
expect(subject.id).to eq('https://doi.org/10.2210/pdb4hhb/pdb')
expect(subject.url).to eq('https://www.wwpdb.org/pdb?id=pdb_00004hhb')
expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
- 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'GEN', 'schemaOrg' => 'CreativeWork')
expect(subject.creators.length).to eq(2)
expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Fermi, G.',
'givenName' => 'G.', 'familyName' => 'Fermi')
expect(subject.titles).to eq([{ 'title' => 'THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION' }])
expect(subject.descriptions).to eq([{ 'description' => 'x-ray diffraction structure',
'descriptionType' => 'Other' }])
expect(subject.dates).to include({ 'date' => '1984-07-17', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('1984')
expect(subject.publisher).to eq('Worldwide Protein Data Bank')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'component' do
input = '10.1371/journal.pmed.0030277.g001'
subject = described_class.new(input: input)
expect(subject.valid?).to be true
expect(subject.id).to eq('https://doi.org/10.1371/journal.pmed.0030277.g001')
expect(subject.url).to eq('https://dx.plos.org/10.1371/journal.pmed.0030277.g001')
expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
- 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'GEN', 'schemaOrg' => 'CreativeWork')
expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
expect(subject.titles).to eq([{ 'title' => ':(unav)' }])
expect(subject.descriptions.empty?).to be(true)
expect(subject.dates).to eq([{ 'date' => '2015-10-20', 'dateType' => 'Issued' },
- { 'date' => '2018-10-19T17:13:42Z', 'dateType' => 'Updated' }])
+ {"date"=>"2018-10-19T21:13:42Z", "dateType"=>"Updated"}])
expect(subject.publication_year).to eq('2015')
expect(subject.publisher).to eq('Public Library of Science (PLoS)')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'dataset usda' do
input = 'https://doi.org/10.2737/RDS-2018-0001'
subject = described_class.new(input: input)
@@ -688,11 +681,11 @@
expect(subject.descriptions.empty?).to be(true)
expect(subject.dates).to eq([{ 'date' => '2017-08-09', 'dateType' => 'Issued' },
{ 'date' => '2021-07-01T22:10:21Z', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2017')
expect(subject.publisher).to eq('USDA Forest Service')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'book chapter' do
input = 'https://doi.org/10.1007/978-3-662-46370-3_13'
subject = described_class.new(input: input)
@@ -704,14 +697,14 @@
expect(subject.creators.length).to eq(2)
expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Diercks, Ronald L.',
'givenName' => 'Ronald L.', 'familyName' => 'Diercks')
expect(subject.titles).to eq([{ 'title' => 'Clinical Symptoms and Physical Examinations' }])
expect(subject.dates).to eq([{ 'date' => '2015', 'dateType' => 'Issued' },
- { 'date' => '2015-04-14T02:31:13Z', 'dateType' => 'Updated' }])
+ { 'date' => '2015-04-13T22:31:13Z', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2015')
expect(subject.publisher).to eq('Springer Science and Business Media LLC')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.container['type']).to eq('Book')
expect(subject.container['title']).to eq('Shoulder Stiffness')
expect(subject.container['firstPage']).to eq('155')
expect(subject.container['lastPage']).to eq('158')
expect(subject.container['identifiers']).to eq([{ 'identifier' => '978-3-662-46369-7',
@@ -730,11 +723,11 @@
'name' => 'Jones, Hunter M.', 'nameType' => 'Personal' }])
expect(subject.titles).to eq([{ 'title' => 'Climate Change and Increasing Risk of Extreme Heat' }])
expect(subject.dates).to include({ 'date' => '2018', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2018')
expect(subject.publisher).to eq('Springer Science and Business Media LLC')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.container['type']).to eq('Book Series')
expect(subject.container['title']).to eq('SpringerBriefs in Medical Earth Sciences')
expect(subject.container['identifier']).to eq('2523-3629')
expect(subject.container['identifierType']).to eq('ISSN')
end
@@ -749,14 +742,14 @@
'resourceType' => 'BookChapter', 'resourceTypeGeneral' => 'BookChapter', 'ris' => 'CHAP', 'schemaOrg' => 'Chapter')
expect(subject.creators).to eq([{ 'affiliation' => [{ 'name' => 'Universit?? de Lyon, France' }],
'familyName' => 'Bichot', 'givenName' => 'Charles-Edmond', 'name' => 'Bichot, Charles-Edmond', 'nameType' => 'Personal' }])
expect(subject.titles).to eq([{ 'title' => 'Unsupervised and Supervised Image Segmentation Using Graph Partitioning' }])
expect(subject.dates).to eq([{ 'date' => '2012-08-08', 'dateType' => 'Issued' },
- { 'date' => '2019-07-02T17:17:21Z', 'dateType' => 'Updated' }])
+ {"date"=>"2019-07-02T13:17:21Z", "dateType"=>"Updated"}])
expect(subject.publication_year).to eq('2012')
expect(subject.publisher).to eq('IGI Global')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.container['type']).to eq('Book')
expect(subject.container['title']).to eq('Graph-Based Methods in Computer Vision')
expect(subject.container['firstPage']).to eq('72')
expect(subject.container['lastPage']).to eq('94')
expect(subject.container['identifiers']).to eq([{ 'identifier' => '9781466618916',
@@ -790,11 +783,11 @@
expect(subject.titles).to eq([{ 'title' => 'Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics' }])
expect(subject.dates).to eq([{ 'date' => '2018-04-09', 'dateType' => 'Issued' },
{ 'date' => '2021-07-22T10:05:05Z', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2018')
expect(subject.publisher).to eq('MDPI AG')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'book' do
input = 'https://doi.org/10.1017/9781108348843'
subject = described_class.new(input: input)
@@ -810,11 +803,11 @@
expect(subject.titles).to eq([{ 'title' => 'The Politics of the Past in Early China' }])
expect(subject.dates).to eq([{ 'date' => '2019-07-01', 'dateType' => 'Issued' },
{ 'date' => '2022-09-22T13:22:42Z', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2019')
expect(subject.publisher).to eq('Cambridge University Press (CUP)')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2019-07-06T10:19:22Z')
end
it 'another book' do
input = 'https://doi.org/10.2973/odp.proc.ir.180.2000'
@@ -831,11 +824,11 @@
expect(subject.titles).to eq([{ 'title' => 'Proceedings of the Ocean Drilling Program, 180 Initial Reports' }])
expect(subject.dates).to eq([{ 'date' => '2000-02-04', 'dateType' => 'Issued' },
{ 'date' => '2009-02-02T21:19:43Z', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2000')
expect(subject.publisher).to eq('International Ocean Discovery Program (IODP)')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2006-10-17T20:17:44Z')
end
it 'yet another book' do
input = 'https://doi.org/10.1029/ar035'
@@ -858,11 +851,11 @@
expect(subject.related_identifiers.first).to eq(
'relatedIdentifier' => '10.1016/0031-0182(70)90103-3', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
)
expect(subject.container).to eq('identifier' => '0066-4634', 'identifierType' => 'ISSN',
'title' => 'Antarctic Research Series', 'type' => 'Book Series', 'volume' => '35')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered.nil?).to be(true)
end
it 'mEDRA' do
input = 'https://doi.org/10.3280/ecag2018-001005'
@@ -879,11 +872,11 @@
'name' => 'Oh, Sohae Eve', 'nameType' => 'Personal')
expect(subject.titles).to eq([{ 'title' => 'Substitutability between organic and conventional poultry products and organic price premiums' }])
expect(subject.dates).to include({ 'date' => '2018-05', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2018')
expect(subject.publisher).to eq('Franco Angeli')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'KISTI' do
input = 'https://doi.org/10.5012/bkcs.2013.34.10.2889'
subject = described_class.new(input: input)
@@ -897,11 +890,11 @@
expect(subject.creators.length).to eq(7)
expect(subject.creators.first).to eq('familyName' => 'Huang', 'givenName' => 'Guimei',
'name' => 'Huang, Guimei', 'nameType' => 'Personal')
expect(subject.titles).to eq([{ 'title' => 'Synthesis, Crystal Structure and Theoretical Calculation of a Novel Nickel(II) Complex with Dibromotyrosine and 1,10-Phenanthroline' }])
expect(subject.dates).to eq([{ 'date' => '2013-10-20', 'dateType' => 'Issued' },
- { 'date' => '2016-12-14T21:40:52Z', 'dateType' => 'Updated' }])
+ { 'date' => '2016-12-15T02:40:52Z', 'dateType' => 'Updated' }])
expect(subject.publication_year).to eq('2013')
expect(subject.publisher).to eq('Korean Chemical Society')
expect(subject.agency).to eq('KISTI')
end
@@ -955,11 +948,11 @@
{ 'title' => 'Distances, absence, proximit??s et pr??sences??: des concepts en d??placement' }, { 'title' => 'Distance(s), proximity and presence(s): evolving concepts' }
])
expect(subject.dates).to include({ 'date' => '2014-12-14', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2014')
expect(subject.publisher).to eq('OpenEdition')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered.nil?).to be(true)
end
it 'multiple titles with missing' do
input = 'https://doi.org/10.1186/1471-2164-7-187'
@@ -991,11 +984,11 @@
'nameType' => 'Personal' }])
expect(subject.titles).to eq([{ 'title' => 'Finding function: evaluation methods for functional genomic data' }])
expect(subject.dates).to include({ 'date' => '2006-07-25', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2006')
expect(subject.publisher).to eq('Springer Science and Business Media LLC')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2021-08-31T17:31:49Z')
end
it 'markup' do
input = 'https://doi.org/10.1098/rspb.2017.0132'
@@ -1013,11 +1006,11 @@
)
expect(subject.titles).to eq([{ 'title' => 'Sexual conflict and correlated evolution between male persistence and female resistance traits in the seed beetle <i>Callosobruchus maculatus</i>' }])
expect(subject.dates).to include({ 'date' => '2017-05-24', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2017')
expect(subject.publisher).to eq('The Royal Society')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2021-02-14T10:36:45Z')
end
it 'empty given name' do
input = 'https://doi.org/10.1111/J.1865-1682.2010.01171.X'
@@ -1086,11 +1079,11 @@
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1002/pmic.201400530',
'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
expect(subject.container).to eq('firstPage' => '929', 'identifier' => '0028-646X',
'identifierType' => 'ISSN', 'issue' => '3', 'lastPage' => '935', 'title' => 'New Phytologist', 'type' => 'Journal', 'volume' => '218')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2018-08-03T11:45:49Z')
end
it 'author literal' do
input = 'https://doi.org/10.1038/ng.3834'
@@ -1105,11 +1098,11 @@
'nameType' => 'Organizational')
expect(subject.titles).to eq([{ 'title' => 'The impact of structural variation on human gene expression' }])
expect(subject.dates).to include({ 'date' => '2017-04-03', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2017')
expect(subject.publisher).to eq('Springer Science and Business Media LLC')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2019-11-02T09:30:06Z')
end
it 'affiliation is space' do
input = 'https://doi.org/10.1177/0042098011428175'
@@ -1124,11 +1117,11 @@
'familyName' => 'Petrovici', 'givenName' => 'Norbert', 'name' => 'Petrovici, Norbert', 'nameType' => 'Personal')
expect(subject.titles).to eq([{ 'title' => 'Workers and the City: Rethinking the Geographies of Power in Post-socialist Urbanisation' }])
expect(subject.dates).to include({ 'date' => '2011-12-22', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2011')
expect(subject.publisher).to eq('SAGE Publications')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2021-05-16T02:02:38Z')
end
it 'multiple issn' do
input = 'https://doi.org/10.1007/978-3-642-34922-5_19'
@@ -1145,11 +1138,11 @@
expect(subject.dates).to include({ 'date' => '2013', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2013')
expect(subject.publisher).to eq('Springer Science and Business Media LLC')
expect(subject.container).to eq('identifier' => '1860-0808', 'identifierType' => 'ISSN',
'title' => 'Studies in Fuzziness and Soft Computing', 'type' => 'Book Series')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2012-10-31T16:15:44Z')
end
it 'article id as page number' do
input = 'https://doi.org/10.1103/physrevlett.120.117701'
@@ -1166,11 +1159,11 @@
expect(subject.dates).to include({ 'date' => '2018-03-13', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2018')
expect(subject.publisher).to eq('American Physical Society (APS)')
expect(subject.container).to eq('firstPage' => '117701', 'identifier' => '1079-7114',
'identifierType' => 'ISSN', 'issue' => '11', 'title' => 'Physical Review Letters', 'type' => 'Journal', 'volume' => '120')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.date_registered).to eq('2018-03-13T15:18:48Z')
end
it 'posted content copernicus' do
input = 'https://doi.org/10.5194/CP-2020-95'
@@ -1189,11 +1182,11 @@
expect(subject.identifiers.empty?).to be(true)
expect(subject.descriptions.first['description']).to start_with('Abstract. During the early last glacial termination')
expect(subject.dates).to include({ 'date' => '2020-07-28', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2020')
expect(subject.publisher).to eq('Copernicus GmbH')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'book oup' do
input = '10.1093/oxfordhb/9780198746140.013.5'
subject = described_class.new(input: input)
@@ -1212,11 +1205,11 @@
expect(subject.identifiers.empty?).to be(true)
expect(subject.descriptions.first['description']).to start_with('This chapter explores the nature of the connections')
expect(subject.dates).to include({ 'date' => '2018-04-05', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2018')
expect(subject.publisher).to eq('Oxford University Press (OUP)')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'report osti' do
input = '10.2172/972169'
subject = described_class.new(input: input)
@@ -1236,11 +1229,11 @@
])
expect(subject.descriptions.empty?).to be(true)
expect(subject.dates).to include({ 'date' => '2010-01-01', 'dateType' => 'Issued' })
expect(subject.publication_year).to eq('2010')
expect(subject.publisher).to eq('Office of Scientific and Technical Information (OSTI)')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'journal issue' do
input = 'https://doi.org/10.6002/ect.2015.0371'
subject = described_class.new(input: input)
@@ -1258,19 +1251,19 @@
expect(subject.related_identifiers.length).to eq(2)
expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '2146-8427',
'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
expect(subject.container).to eq('identifier' => '2146-8427', 'identifierType' => 'ISSN',
'issue' => '5', 'title' => 'Experimental and Clinical Transplantation', 'type' => 'Journal', 'volume' => '16')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
end
it 'not found error' do
input = 'https://doi.org/10.7554/elife.01567x'
subject = described_class.new(input: input)
expect(subject.valid?).to be false
expect(subject.id).to eq('https://doi.org/10.7554/elife.01567x')
expect(subject.doi).to eq('10.7554/elife.01567x')
- expect(subject.agency).to eq('crossref')
+ expect(subject.agency).to eq('Crossref')
expect(subject.state).to eq('not_found')
end
end
end