Skip to content

Commit e6908db

Browse files
committed
fix: small changes
1 parent 9d5adda commit e6908db

5 files changed

Lines changed: 54 additions & 39 deletions

File tree

src/sections/dataset/dataset-versions/DatasetVersions.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ export function DatasetVersions({ datasetRepository, datasetId }: DatasetVersion
4545
navigate(`${Route.DATASETS}?${searchParams.toString()}`)
4646
}
4747

48-
// If there's only 1 version, we don't show the "View Differences" button or the checkbox column
48+
const isDeaccession = datasetVersionSummaries?.some(
49+
(dataset) => dataset.summary === 'versionDeaccessioned'
50+
)
4951
const showViewDifferenceButton = datasetVersionSummaries && datasetVersionSummaries.length < 2
5052

5153
if (isLoading) {
@@ -79,15 +81,17 @@ export function DatasetVersions({ datasetRepository, datasetId }: DatasetVersion
7981
</tr>
8082
</thead>
8183
<tbody>
82-
{datasetVersionSummaries?.map((dataset) => {
83-
const previousDataset = datasetVersionSummaries.find((d) => d.id === dataset.id - 1)
84+
{datasetVersionSummaries?.map((dataset, index) => {
85+
const previousDataset =
86+
index < datasetVersionSummaries.length - 1
87+
? datasetVersionSummaries[index + 1]
88+
: null
8489
const summaryObject = generateDatasetVersionSummaryDescription(dataset.summary)
8590

8691
return (
8792
<tr key={dataset.id}>
88-
{!showViewDifferenceButton && (
93+
{!showViewDifferenceButton && !isDeaccession && (
8994
<td>
90-
{/* TODO: If deaccession, disable the version checkbox*/}
9195
<Form.Group.Checkbox
9296
label=""
9397
id={`dataset-${dataset.id}`}

src/sections/dataset/dataset-versions/generateSummaryDescription.tsx

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,14 @@ export const generateDatasetVersionSummaryDescription = function (
5353

5454
case 'Additional Citation Metadata': {
5555
const additionMetadataChanges: string[] = []
56-
const fileSummary = value as FilesSummaryUpdates
57-
58-
if (fileSummary.added > 0) additionMetadataChanges.push(`${fileSummary.added} Added`)
59-
if (fileSummary.removed > 0) additionMetadataChanges.push(`${fileSummary.removed} Removed`)
60-
if (fileSummary.replaced > 0)
61-
additionMetadataChanges.push(`${fileSummary.replaced} Replaced`)
62-
if (fileSummary.changedFileMetaData > 0)
63-
additionMetadataChanges.push(`${fileSummary.changedFileMetaData} Changed`)
64-
if (fileSummary.changedVariableMetadata > 0)
65-
additionMetadataChanges.push(
66-
`Variable Metadata Changed: ${fileSummary.changedVariableMetadata}`
67-
)
56+
const AdditionalCitationMetadata = value as SummaryUpdates
6857

58+
if (AdditionalCitationMetadata.added > 0)
59+
additionMetadataChanges.push(`${AdditionalCitationMetadata.added} Added`)
60+
if (AdditionalCitationMetadata.deleted > 0)
61+
additionMetadataChanges.push(`${AdditionalCitationMetadata.deleted} Removed`)
62+
if (AdditionalCitationMetadata.changed > 0)
63+
additionMetadataChanges.push(`${AdditionalCitationMetadata.changed} Changed`)
6964
if (additionMetadataChanges.length > 0) {
7065
descriptionObject[key] = additionMetadataChanges.join('; ')
7166
}

src/sections/dataset/dataset-versions/view-difference/DatasetVersionViewDifferenceButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export function DatasetVersionViewDifferenceButton({
5454
handleClose={() => setShowModal(false)}
5555
isLoading={isLoading}
5656
errorHandling={error}
57-
datasetVersionDifferences={selectedVersions.length < 2 ? undefined : differences}
57+
datasetVersionDifferences={differences}
5858
/>
5959
)}
6060
</div>

src/stories/dataset/dataset-versions/DatasetVersionsDiffModal.stories.tsx

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,26 @@ export const Default: Story = {
2424
)
2525
}
2626

27-
// export const Loading: Story = {
28-
// render: () => <DatasetVersionsDetailModal />
29-
// }
27+
export const Loading: Story = {
28+
render: () => (
29+
<VersionDetailModal
30+
show={true}
31+
handleClose={() => {}}
32+
isLoading={true}
33+
errorHandling={null}
34+
datasetVersionDifferences={versionsDiff}
35+
/>
36+
)
37+
}
38+
39+
export const Error: Story = {
40+
render: () => (
41+
<VersionDetailModal
42+
show={true}
43+
handleClose={() => {}}
44+
isLoading={false}
45+
errorHandling={'There was an error'}
46+
datasetVersionDifferences={versionsDiff}
47+
/>
48+
)
49+
}

tests/component/sections/dataset/dataset-versions/DatasetVersions.spec.tsx

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ describe('DatasetVersions', () => {
8989
})
9090
})
9191

92-
it('should render the dataset versions table without view differences button if only one version checked', () => {
92+
it('should render the dataset versions table without view differences button if less than 2 versions being selected', () => {
9393
datasetsRepository.getDatasetVersionsSummaries = cy.stub().resolves(versionSummaryInfo)
9494

9595
cy.findByTestId('dataset-versions-table').should('exist')
@@ -100,19 +100,25 @@ describe('DatasetVersions', () => {
100100
cy.contains('th', 'Published On').should('exist')
101101
cy.findAllByTestId('select-checkbox').first().should('exist').check().should('be.checked')
102102
cy.findByRole('button', { name: 'View Differences' }).should('not.exist')
103+
})
104+
105+
it('should not show view detail buttons if there is only one version', () => {
106+
datasetsRepository.getDatasetVersionsSummaries = cy.stub().resolves(versionSummaryInfo)
103107

104-
cy.findByText(/View Details/).should('not.exist')
108+
cy.findByTestId('dataset-versions-table').should('exist')
109+
cy.get('tr').eq(1).find('td').eq(2).findByText('View Details').should('exist').click()
105110
})
106111

107-
it('should open dataset versions modal', () => {
112+
113+
it('should open dataset versions detail modal', () => {
108114
datasetsRepository.getDatasetVersionsSummaries = cy.stub().resolves(versionSummaryInfo)
109115

110116
cy.findByTestId('dataset-versions-table').should('exist')
111117
cy.get('tr').eq(1).find('td').eq(2).findByText('View Details').should('exist').click()
112118
cy.findByRole('dialog').should('exist')
113119
})
114120

115-
it('should close dataset versions modal', () => {
121+
it('should close dataset versions detail modal', () => {
116122
datasetsRepository.getDatasetVersionsSummaries = cy.stub().resolves(versionSummaryInfo)
117123

118124
cy.findByTestId('dataset-versions-table').should('exist')
@@ -202,10 +208,8 @@ describe('DatasetVersions generateDatasetVersionSummaryDescription', () => {
202208
},
203209
'Additional Citation Metadata': {
204210
added: 1,
205-
removed: 1,
206-
replaced: 1,
207-
changedFileMetaData: 2,
208-
changedVariableMetadata: 1
211+
deleted: 1,
212+
changed: 1
209213
}
210214
}
211215

@@ -228,19 +232,11 @@ describe('DatasetVersions generateDatasetVersionSummaryDescription', () => {
228232
`${versionSummary['Additional Citation Metadata'].added} Added`
229233
)
230234
expect(result['Additional Citation Metadata']).to.include(
231-
`${versionSummary['Additional Citation Metadata'].removed} Removed`
232-
)
233-
expect(result['Additional Citation Metadata']).to.include(
234-
`${versionSummary['Additional Citation Metadata'].replaced} Replaced`
235+
`${versionSummary['Additional Citation Metadata'].deleted} Removed`
235236
)
236237
expect(result['Additional Citation Metadata']).to.include(
237-
`${versionSummary['Additional Citation Metadata'].changedFileMetaData} Changed`
238+
`${versionSummary['Additional Citation Metadata'].changed} Changed`
238239
)
239-
expect(result['Additional Citation Metadata']).to.include(
240-
`Variable Metadata Changed: ${versionSummary['Additional Citation Metadata'].changedVariableMetadata}`
241-
)
242-
243-
expect(result.termsAccessChanged).to.includes('Terms Access: Changed')
244240
})
245241

246242
it('should handle DatasetVersionSummaryStringValues correctly', () => {

0 commit comments

Comments
 (0)