diff --git a/src/datasets/domain/models/DatasetVersionSummaryInfo.ts b/src/datasets/domain/models/DatasetVersionSummaryInfo.ts index faee0e57..782a2e0f 100644 --- a/src/datasets/domain/models/DatasetVersionSummaryInfo.ts +++ b/src/datasets/domain/models/DatasetVersionSummaryInfo.ts @@ -7,7 +7,17 @@ export interface DatasetVersionSummaryInfo { } export type DatasetVersionSummary = { - [key: string]: SummaryUpdates | SummaryUpdatesWithFields | FilesSummaryUpdates | boolean + [key: string]: + | SummaryUpdates + | SummaryUpdatesWithFields + | FilesSummaryUpdates + | boolean + | Deaccessioned +} + +interface Deaccessioned { + reason: string + url: string } interface SummaryUpdates { diff --git a/test/integration/datasets/DatasetsRepository.test.ts b/test/integration/datasets/DatasetsRepository.test.ts index d497c0a0..21ae392b 100644 --- a/test/integration/datasets/DatasetsRepository.test.ts +++ b/test/integration/datasets/DatasetsRepository.test.ts @@ -1162,6 +1162,29 @@ describe('DatasetsRepository', () => { await deletePublishedDatasetViaApi(testDatasetIds.persistentId) }) + test('should return dataset versions correctly after deaccessioned', async () => { + const testDatasetIds = await createDataset.execute( + TestConstants.TEST_NEW_DATASET_DTO, + testDatasetVersionsCollectionAlias + ) + await publishDataset.execute(testDatasetIds.numericId, VersionUpdateType.MAJOR) + + await waitForNoLocks(testDatasetIds.numericId, 10) + + const deaccessionReason = { + deaccessioned: { reason: 'Test reason.' } + } + await deaccessionDatasetViaApi(testDatasetIds.numericId, '1.0') + + const actual = await sut.getDatasetVersionsSummaries(testDatasetIds.numericId) + + expect(actual.length).toBeGreaterThan(0) + expect(actual[0].versionNumber).toBe('1.0') + expect(actual[0].summary).toStrictEqual(deaccessionReason) + + await deletePublishedDatasetViaApi(testDatasetIds.persistentId) + }) + test('should return dataset versions correctly after 1st publish and metadata fields update', async () => { const testDatasetIds = await createDataset.execute( TestConstants.TEST_NEW_DATASET_DTO,