@@ -223,4 +223,45 @@ def minimal_record
223223 normalized = NormalizeTimdexRecord . new ( full_record , 'test' ) . normalize
224224 assert_equal 'timdex' , normalized [ :api ]
225225 end
226+
227+ # Test eyebrow mapping
228+ test 'maps DSpace@MIT source to eyebrow label' do
229+ record = full_record . dup
230+ record [ 'source' ] = 'DSpace@MIT'
231+ normalized = NormalizeTimdexRecord . new ( record , 'test' ) . normalize
232+ assert_equal 'DSpace@MIT (MIT Research)' , normalized [ :eyebrow ]
233+ assert_includes normalized . keys , :eyebrow
234+ end
235+
236+ test 'maps LibGuides source to eyebrow label' do
237+ record = full_record . dup
238+ record [ 'source' ] = 'LibGuides'
239+ normalized = NormalizeTimdexRecord . new ( record , 'test' ) . normalize
240+ assert_equal 'MIT Libraries Website: Guides' , normalized [ :eyebrow ]
241+ assert_includes normalized . keys , :eyebrow
242+ end
243+
244+ test 'maps OpenGeoMetadata GIS Resources source to eyebrow label' do
245+ record = full_record . dup
246+ record [ 'source' ] = 'OpenGeoMetadata GIS Resources'
247+ normalized = NormalizeTimdexRecord . new ( record , 'test' ) . normalize
248+ assert_equal 'Non-MIT GeoSpatial Data' , normalized [ :eyebrow ]
249+ assert_includes normalized . keys , :eyebrow
250+ end
251+
252+ test 'maps MIT GIS Resources source to eyebrow label' do
253+ record = full_record . dup
254+ record [ 'source' ] = 'MIT GIS Resources'
255+ normalized = NormalizeTimdexRecord . new ( record , 'test' ) . normalize
256+ assert_equal 'MIT GeoSpatial Data' , normalized [ :eyebrow ]
257+ assert_includes normalized . keys , :eyebrow
258+ end
259+
260+ test 'uses source value as eyebrow for unmapped sources' do
261+ record = full_record . dup
262+ record [ 'source' ] = 'Custom Repository'
263+ normalized = NormalizeTimdexRecord . new ( record , 'test' ) . normalize
264+ assert_equal 'Custom Repository' , normalized [ :eyebrow ]
265+ assert_includes normalized . keys , :eyebrow
266+ end
226267end
0 commit comments