Skip to content

Commit 5664b80

Browse files
authored
MMT-4059: Update cmr-metadata-preview to latest package and integrate those citations previews to MMT (#1412)
* MMT-4059: Update cmr-metadata-preview to latest package and integrate those citations previews to MMT * MMT-4059: Writing tests and adding to collection query * MMT-4059: Small fix
1 parent 7dac8aa commit 5664b80

File tree

9 files changed

+141
-17
lines changed

9 files changed

+141
-17
lines changed

package-lock.json

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
},
2222
"dependencies": {
2323
"@apollo/client": "^3.8.5",
24-
"@edsc/metadata-preview": "^1.5.0",
24+
"@edsc/metadata-preview": "^1.5.1",
2525
"@node-saml/node-saml": "^5.1.0",
2626
"@rjsf/core": "^5.15.0",
2727
"@rjsf/utils": "^5.15.0",

static/src/js/components/MetadataPreview/MetadataPreview.jsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import React from 'react'
22
import {
3+
CitationPreview,
34
CollectionPreview,
45
ServicePreview,
56
ToolPreview,
@@ -135,6 +136,16 @@ const MetadataPreview = ({
135136
/>
136137
)
137138
}
139+
{
140+
conceptType === 'Citation' && (
141+
<CitationPreview
142+
cmrHost={cmrHost}
143+
citation={concept}
144+
conceptId={conceptId}
145+
conceptType={type}
146+
/>
147+
)
148+
}
138149
</Col>
139150
</Row>
140151
)

static/src/js/components/MetadataPreview/__tests__/MetadataPreview.test.jsx

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {
2+
CitationPreview,
23
CollectionPreview,
34
ServicePreview,
45
ToolPreview,
@@ -20,6 +21,7 @@ import ErrorBoundary from '../../ErrorBoundary/ErrorBoundary'
2021
import conceptTypeDraftQueries from '../../../constants/conceptTypeDraftQueries'
2122
import conceptTypeQueries from '../../../constants/conceptTypeQueries'
2223
import {
24+
mockCitationDraft,
2325
mockCollection,
2426
mockCollectionDraft,
2527
mockCollectionWithAssociatedVariables,
@@ -305,6 +307,71 @@ describe('MetadataPreview', () => {
305307
})
306308
})
307309

310+
describe('when the conceptType is Citation draft', () => {
311+
test('renders a Citation Preview component', async () => {
312+
setup({
313+
overrideProps: {
314+
conceptId: 'CITD0000000-MMT_1',
315+
conceptType: 'Citation'
316+
},
317+
mock: [{
318+
request: {
319+
query: conceptTypeDraftQueries.Citation,
320+
variables: {
321+
params: {
322+
conceptId: 'CITD0000000-MMT_1',
323+
conceptType: 'Citation'
324+
},
325+
variableParams: null
326+
}
327+
},
328+
result: {
329+
data: {
330+
draft: mockCitationDraft
331+
}
332+
}
333+
}],
334+
initialEntries: '/drafts/citations/CITD0000000-MMT_1'
335+
})
336+
337+
await waitFor(() => {
338+
expect(CitationPreview).toHaveBeenCalledWith({
339+
cmrHost: 'http://example.com',
340+
conceptId: 'CITD0000000-MMT_1',
341+
conceptType: 'citation-draft',
342+
conceptUrlTemplate: '/{conceptType}/{conceptId}',
343+
isPlugin: true,
344+
citation: {
345+
__typename: 'Citation',
346+
abstract: 'This is a randomly generated citation for demonstration purposes. Created at 2025-05-28T18:48:11.453Z.',
347+
citationMetadata: {
348+
number: '2',
349+
publisher: 'Springer Nature',
350+
title: 'Archival Earth Science Resource 8 - Research Publication 8',
351+
type: 'journal-article',
352+
volume: '23'
353+
},
354+
conceptId: 'CITD1200484992-DEMO_PROV',
355+
identifier: 'ark:/13030/tf8p17484-test-2',
356+
identifierType: 'ARK',
357+
name: 'Archival Earth Science Resource 8',
358+
nativeId: 'GQL-113-test',
359+
pageTitle: 'Archival Earth Science Resource 8',
360+
providerId: 'DEMO_PROV',
361+
relatedIdentifiers: [],
362+
resolutionAuthority: 'https://n2t.net',
363+
revisionDate: '2025-09-03T21:45:49.248Z',
364+
revisionId: '2',
365+
scienceKeywords: [],
366+
userId: 'test.user'
367+
}
368+
}, {})
369+
})
370+
371+
expect(CitationPreview).toHaveBeenCalledTimes(1)
372+
})
373+
})
374+
308375
describe('when the conceptType is Variable draft', () => {
309376
test('renders a Variable Preview component', async () => {
310377
setup({

static/src/js/components/MetadataPreview/__tests__/__mocks__/MatadataPreviewMocks.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3853,3 +3853,40 @@ export const mockVisualizationDraft = {
38533853
visualizationType: 'tiles',
38543854
__typename: 'Visualization'
38553855
}
3856+
3857+
export const mockCitationDraft = {
3858+
conceptId: 'CITD0000000-MMT_1',
3859+
conceptType: 'citation-draft',
3860+
deleted: false,
3861+
name: 'Archival Earth Science Resource 8',
3862+
nativeId: 'GQL-113-test',
3863+
providerId: 'DEMO_PROV',
3864+
revisionDate: '2025-09-03T21:45:49.248Z',
3865+
revisionId: '2',
3866+
ummMetadata: {},
3867+
previewMetadata: {
3868+
abstract: 'This is a randomly generated citation for demonstration purposes. Created at 2025-05-28T18:48:11.453Z.',
3869+
citationMetadata: {
3870+
type: 'journal-article',
3871+
volume: '23',
3872+
publisher: 'Springer Nature',
3873+
number: '2',
3874+
title: 'Archival Earth Science Resource 8 - Research Publication 8'
3875+
},
3876+
conceptId: 'CITD1200484992-DEMO_PROV',
3877+
identifier: 'ark:/13030/tf8p17484-test-2',
3878+
identifierType: 'ARK',
3879+
name: 'Archival Earth Science Resource 8',
3880+
nativeId: 'GQL-113-test',
3881+
pageTitle: 'Archival Earth Science Resource 8',
3882+
providerId: 'DEMO_PROV',
3883+
relatedIdentifiers: [],
3884+
resolutionAuthority: 'https://n2t.net',
3885+
revisionDate: '2025-09-03T21:45:49.248Z',
3886+
revisionId: '2',
3887+
scienceKeywords: [],
3888+
userId: 'test.user',
3889+
__typename: 'Citation'
3890+
},
3891+
__typename: 'Citation'
3892+
}

static/src/js/operations/queries/getCitation.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export const GET_CITATION = gql`
1818
conceptId
1919
identifier
2020
identifierType
21-
name,
21+
name
2222
pageTitle: name
2323
nativeId
2424
providerId

static/src/js/operations/queries/getCitationDraft.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const CITATION_DRAFT = gql`
1818
conceptId
1919
identifier
2020
identifierType
21+
name
2122
pageTitle: name
2223
nativeId
2324
providerId

static/src/js/operations/queries/getCollection.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ export const GET_COLLECTION = gql`
1010
archiveAndDistributionInformation
1111
associationDetails
1212
associatedDois
13+
citations {
14+
count
15+
items {
16+
conceptId
17+
name
18+
type: identifierType
19+
}
20+
}
1321
collectionCitations
1422
collectionProgress
1523
conceptId

static/src/js/operations/queries/getVisualization.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const GET_VISUALIZATION = gql`
88
generation
99
identifier
1010
metadataSpecification
11-
name,
11+
name
1212
pageTitle: name
1313
nativeId
1414
providerId

0 commit comments

Comments
 (0)