@@ -6,6 +6,7 @@ import manifestFixtureSn904cj3429 from '../../fixtures/version-2/sn904cj3429.jso
66import manifestFixturev3001 from '../../fixtures/version-3/001.json' ;
77import manifestFixtureWithAProvider from '../../fixtures/version-3/with_a_provider.json' ;
88import manifestFixtureFg165hz3589 from '../../fixtures/version-2/fg165hz3589.json' ;
9+ import manifestFixtureRelated from '../../fixtures/version-2/related.json' ;
910import {
1011 getManifestoInstance ,
1112 getManifestLocale ,
@@ -18,8 +19,10 @@ import {
1819 getManifestTitle ,
1920 getManifestThumbnail ,
2021 getManifestMetadata ,
22+ getManifestRelated ,
2123 getManifestRelatedContent ,
2224 getManifestRenderings ,
25+ getManifestSeeAlso ,
2326 getManifestUrl ,
2427 getMetadataLocales ,
2528 getRequiredStatement ,
@@ -210,6 +213,33 @@ describe('getManifestRenderings', () => {
210213 } ) ;
211214} ) ;
212215
216+ describe ( 'getManifestRelated' , ( ) => {
217+ it ( 'should return manifest related' , ( ) => {
218+ const state = { manifests : { x : { json : manifestFixtureRelated } } } ;
219+ const received = getManifestRelated ( state , { manifestId : 'x' } ) ;
220+ expect ( received ) . toEqual ( [
221+ {
222+ value : 'http://example.com/related1' ,
223+ } ,
224+ {
225+ format : undefined ,
226+ label : null ,
227+ value : 'http://example.com/related2' ,
228+ } ,
229+ {
230+ format : 'text/html' ,
231+ label : 'Something related' ,
232+ value : 'http://example.com/related3' ,
233+ } ,
234+ ] ) ;
235+ } ) ;
236+
237+ it ( 'should return undefined if manifest undefined' , ( ) => {
238+ const received = getManifestRelated ( { manifests : { } } , { manifestId : 'x' } ) ;
239+ expect ( received ) . toBeUndefined ( ) ;
240+ } ) ;
241+ } ) ;
242+
213243describe ( 'getManifestRelatedContent' , ( ) => {
214244 it ( 'should return manifest seeAlso content' , ( ) => {
215245 const state = { manifests : { x : { json : manifestFixtureSn904cj3429 } } } ;
@@ -229,6 +259,25 @@ describe('getManifestRelatedContent', () => {
229259 } ) ;
230260} ) ;
231261
262+ describe ( 'getManifestSeeAlso' , ( ) => {
263+ it ( 'should return manifest seeAlso content' , ( ) => {
264+ const state = { manifests : { x : { json : manifestFixtureSn904cj3429 } } } ;
265+ const received = getManifestSeeAlso ( state , { manifestId : 'x' } ) ;
266+ expect ( received ) . toEqual ( [
267+ {
268+ format : 'application/mods+xml' ,
269+ label : null ,
270+ value : 'https://purl.stanford.edu/sn904cj3429.mods' ,
271+ } ,
272+ ] ) ;
273+ } ) ;
274+
275+ it ( 'should return undefined if manifest undefined' , ( ) => {
276+ const received = getManifestSeeAlso ( { manifests : { } } , { manifestId : 'x' } ) ;
277+ expect ( received ) . toBeUndefined ( ) ;
278+ } ) ;
279+ } ) ;
280+
232281describe ( 'getManifestUrl' , ( ) => {
233282 it ( 'should return manifest url' , ( ) => {
234283 const state = { manifests : { x : { json : manifestFixtureWithAProvider } } } ;
0 commit comments