@@ -5,8 +5,8 @@ def popcorn
55 VCR . use_cassette ( 'popcorn primo' ,
66 allow_playback_repeats : true ) do
77 raw_query = SearchPrimo . new . search ( 'popcorn' ,
8- ENV [ 'PRIMO_BOOK_SCOPE' ] , 5 )
9- NormalizePrimo . new . to_result ( raw_query , ENV [ 'PRIMO_BOOK_SCOPE' ] ,
8+ ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) , 5 )
9+ NormalizePrimo . new . to_result ( raw_query , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) ,
1010 'popcorn' )
1111 end
1212 end
@@ -15,8 +15,8 @@ def monkeys
1515 VCR . use_cassette ( 'monkeys primo articles' ,
1616 allow_playback_repeats : true ) do
1717 raw_query = SearchPrimo . new . search ( 'monkeys' ,
18- ENV [ 'PRIMO_ARTICLE_SCOPE' ] , 5 )
19- NormalizePrimo . new . to_result ( raw_query , ENV [ 'PRIMO_ARTICLE_SCOPE' ] ,
18+ ENV . fetch ( 'PRIMO_ARTICLE_SCOPE' , nil ) , 5 )
19+ NormalizePrimo . new . to_result ( raw_query , ENV . fetch ( 'PRIMO_ARTICLE_SCOPE' , nil ) ,
2020 'monkeys' )
2121 end
2222 end
@@ -28,8 +28,8 @@ def missing_fields
2828 VCR . use_cassette ( 'missing fields primo' ,
2929 allow_playback_repeats : true ) do
3030 raw_query = SearchPrimo . new . search ( 'Chʻomsŭkʻi, kkŭt ŏmnŭn tojŏn' ,
31- ENV [ 'PRIMO_BOOK_SCOPE' ] , 5 )
32- NormalizePrimo . new . to_result ( raw_query , ENV [ 'PRIMO_BOOK_SCOPE' ] ,
31+ ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) , 5 )
32+ NormalizePrimo . new . to_result ( raw_query , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) ,
3333 'Chʻomsŭkʻi, kkŭt ŏmnŭn tojŏn' )
3434 end
3535 end
@@ -38,8 +38,8 @@ def missing_fields
3838 VCR . use_cassette ( 'no results primo' ,
3939 allow_playback_repeats : true ) do
4040 raw_query = SearchPrimo . new . search ( 'popcornandorangejuice' ,
41- ENV [ 'PRIMO_BOOK_SCOPE' ] , 5 )
42- query = NormalizePrimo . new . to_result ( raw_query , ENV [ 'PRIMO_BOOK_SCOPE' ] ,
41+ ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) , 5 )
42+ query = NormalizePrimo . new . to_result ( raw_query , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) ,
4343 'popcornandorangejuice' )
4444 assert_equal ( 0 , query [ 'total' ] )
4545 end
@@ -79,47 +79,47 @@ def missing_fields
7979 result = popcorn [ 'results' ] . first
8080 assert_not_equal 'Rudolph, J.$$QRudolph, J.' , result . authors . first . first
8181 assert_equal [ 'Rudolph, J.' ,
82- 'https://mit.primo.exlibrisgroup.com/discovery/search?query=creator,exact,Rudolph, J .&tab=all&search_scope=all&vid=FAKE_PRIMO_VID' ] ,
82+ 'https://mit.primo.exlibrisgroup.com/discovery/search?query=creator,exact,Rudolph%2C%20J .&tab=all&search_scope=all&vid=FAKE_PRIMO_VID' ] ,
8383 result . authors . first
8484 end
8585
8686 test 'multiple authors in a single element are appropriately parsed' do
8787 result = monkeys [ 'results' ] . second
8888 assert_not_equal [ 'Beran, Michael J ; Smith, J. David' ] , result . authors . first . first
8989 assert_equal [ 'Beran, Michael J' ,
90- 'https://mit.primo.exlibrisgroup.com/discovery/search?query=creator,exact,Beran, Michael J &tab=all&search_scope=all&vid=FAKE_PRIMO_VID' ] ,
90+ 'https://mit.primo.exlibrisgroup.com/discovery/search?query=creator,exact,Beran%2C%20Michael%20J &tab=all&search_scope=all&vid=FAKE_PRIMO_VID' ] ,
9191 result . authors . first
9292 assert_equal [ 'Smith, J. David' ,
93- 'https://mit.primo.exlibrisgroup.com/discovery/search?query=creator,exact,Smith, J. David &tab=all&search_scope=all&vid=FAKE_PRIMO_VID' ] ,
93+ 'https://mit.primo.exlibrisgroup.com/discovery/search?query=creator,exact,Smith%2C%20J.%20David &tab=all&search_scope=all&vid=FAKE_PRIMO_VID' ] ,
9494 result . authors . second
9595 end
9696
9797 test 'cleans up single author data in the expected Alma format' do
98- normalizer = NormalizePrimoCommon . new ( 'record' , ENV [ 'PRIMO_BOOK_SCOPE' ] )
98+ normalizer = NormalizePrimoCommon . new ( 'record' , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) )
9999 authors = [ 'Evans, Bill$$QEvans, Bill' ]
100100 assert_equal [ 'Evans, Bill' ] , normalizer . sanitize_authors ( authors )
101101 end
102102
103103 test 'cleans up multiple author data in the expected Alma format' do
104- normalizer = NormalizePrimoCommon . new ( 'record' , ENV [ 'PRIMO_BOOK_SCOPE' ] )
104+ normalizer = NormalizePrimoCommon . new ( 'record' , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) )
105105 authors = [ 'Blakey, Art$$QBlakey, Art' , 'Shorter, Wayne$$QShorter, Wayne' ]
106106 assert_equal [ 'Blakey, Art' , 'Shorter, Wayne' ] , normalizer . sanitize_authors ( authors )
107107 end
108108
109109 test 'cleans up multiple author data in the expected CDI format' do
110- normalizer = NormalizePrimoCommon . new ( 'record' , ENV [ 'PRIMO_ARTICLE_SCOPE' ] )
110+ normalizer = NormalizePrimoCommon . new ( 'record' , ENV . fetch ( 'PRIMO_ARTICLE_SCOPE' , nil ) )
111111 authors = [ 'Blakey, Art ; Shorter, Wayne' ]
112112 assert_equal [ 'Blakey, Art' , 'Shorter, Wayne' ] , normalizer . sanitize_authors ( authors )
113113 end
114114
115115 test 'does not attempt to clean up acceptable single author data' do
116- normalizer = NormalizePrimoCommon . new ( 'record' , ENV [ 'PRIMO_BOOK_SCOPE' ] )
116+ normalizer = NormalizePrimoCommon . new ( 'record' , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) )
117117 authors = [ 'Redman, Joshua' ]
118118 assert_equal [ 'Redman, Joshua' ] , normalizer . sanitize_authors ( authors )
119119 end
120120
121121 test 'does not attempt to clean up acceptable multiple author data' do
122- normalizer = NormalizePrimoCommon . new ( 'record' , ENV [ 'PRIMO_BOOK_SCOPE' ] )
122+ normalizer = NormalizePrimoCommon . new ( 'record' , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) )
123123 authors = [ 'Redman, Joshua' , 'Mehldau, Brad' ]
124124 assert_equal [ 'Redman, Joshua' , 'Mehldau, Brad' ] , normalizer . sanitize_authors ( authors )
125125 end
@@ -132,7 +132,7 @@ def missing_fields
132132
133133 test 'can handle bad results' do
134134 assert_raises NormalizePrimo ::InvalidResults do
135- NormalizePrimo . new . to_result ( '' , ENV [ 'PRIMO_BOOK_SCOPE' ] , 'popcorn' )
135+ NormalizePrimo . new . to_result ( '' , ENV . fetch ( 'PRIMO_BOOK_SCOPE' , nil ) , 'popcorn' )
136136 end
137137 end
138138end
0 commit comments