Skip to content

Commit c9e0829

Browse files
committed
fix: typo and add a test
1 parent 1098700 commit c9e0829

File tree

10 files changed

+37
-29
lines changed

10 files changed

+37
-29
lines changed

docs/useCases.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -754,9 +754,9 @@ The `versionUpdateType` parameter can be a [VersionUpdateType](../src/datasets/d
754754
- `VersionUpdateType.MAJOR`
755755
- `VersionUpdateType.UPDATE_CURRENT`
756756

757-
#### Deaccesion a Dataset
757+
#### Deaccession a Dataset
758758

759-
Deaccesion a Dataset, given its identifier, version, and deaccessionDatasetDTO to perform.
759+
Deaccession a Dataset, given its identifier, version, and deaccessionDatasetDTO to perform.
760760

761761
##### Example call:
762762

@@ -777,7 +777,7 @@ deaccessionDataset.execute(datasetId, version, deaccessionDatasetDTO)
777777
/* ... */
778778
```
779779

780-
_See [use case](../src/datasets/domain/useCases/DeaccesionDataset.ts) implementation_.
780+
_See [use case](../src/datasets/domain/useCases/DeaccessionDataset.ts) implementation_.
781781
The `datasetId` parameter can be a string for persistent identifiers, or a number for numeric identifiers.
782782
The `version` parameter should be a string or a [DatasetNotNumberedVersion](../src/datasets/domain/models/DatasetNotNumberedVersion.ts) enum value.
783783

src/datasets/domain/dtos/DatasetDTO.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@ export interface DatasetMetadataBlockValuesDTO {
1010
fields: DatasetMetadataFieldsDTO
1111
}
1212

13-
export interface DatasetDeaccessionDTO {
14-
deaccessionReason: string
15-
deaccessionForwardURL?: string
16-
}
17-
1813
export type DatasetMetadataFieldsDTO = Record<string, DatasetMetadataFieldValueDTO>
1914

2015
export type DatasetMetadataFieldValueDTO =
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
export interface DatasetDeaccessionDTO {
2+
deaccessionReason: string
3+
deaccessionForwardURL?: string
4+
}

src/datasets/domain/useCases/DeaccessionDataset.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { UseCase } from '../../../core/domain/useCases/UseCase'
22
import { IDatasetsRepository } from '../repositories/IDatasetsRepository'
3-
import { DatasetDeaccessionDTO } from '../dtos/DatasetDTO'
3+
import { DatasetDeaccessionDTO } from '../dtos/DatasetDeaccessionDTO'
44
import { DatasetNotNumberedVersion } from '../models/DatasetNotNumberedVersion'
55

66
export class DeaccessionDataset implements UseCase<void> {

src/datasets/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,8 @@ export {
8686
DatasetMetadataFieldsDTO,
8787
DatasetMetadataFieldValueDTO,
8888
DatasetMetadataBlockValuesDTO,
89-
DatasetMetadataChildFieldValueDTO,
90-
DatasetDeaccessionDTO
89+
DatasetMetadataChildFieldValueDTO
9190
} from './domain/dtos/DatasetDTO'
91+
export { DatasetDeaccessionDTO } from './domain/dtos/DatasetDeaccessionDTO'
9292
export { CreatedDatasetIdentifiers } from './domain/models/CreatedDatasetIdentifiers'
9393
export { VersionUpdateType } from './domain/models/Dataset'

src/datasets/infra/repositories/DatasetsRepository.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ import { transformDatasetUserPermissionsResponseToDatasetUserPermissions } from
1010
import { DatasetLock } from '../../domain/models/DatasetLock'
1111
import { CreatedDatasetIdentifiers } from '../../domain/models/CreatedDatasetIdentifiers'
1212
import { DatasetPreviewSubset } from '../../domain/models/DatasetPreviewSubset'
13-
import { DatasetDTO, DatasetDeaccessionDTO } from '../../domain/dtos/DatasetDTO'
13+
import { DatasetDTO } from '../../domain/dtos/DatasetDTO'
14+
import { DatasetDeaccessionDTO } from '../../domain/dtos/DatasetDeaccessionDTO'
1415
import { MetadataBlock } from '../../../metadataBlocks'
1516
import { transformDatasetModelToNewDatasetRequestPayload } from './transformers/datasetTransformers'
1617
import { transformDatasetLocksResponseToDatasetLocks } from './transformers/datasetLocksTransformers'

test/functional/datasets/DeaccessionDataset.test.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@ describe('execute', () => {
7272

7373
expect(response).toBeUndefined()
7474

75-
const testDeaccessionDataset: DatasetDeaccessionDTO = {
75+
const testDeaccessionDatasetDTO: DatasetDeaccessionDTO = {
7676
deaccessionReason: 'Description of the deaccession reason.',
7777
deaccessionForwardURL: 'https://demo.dataverse.org'
7878
}
7979

8080
const actual = await deaccessionDataset.execute(
8181
createdDatasetIdentifiers.numericId,
8282
'1.0',
83-
testDeaccessionDataset
83+
testDeaccessionDatasetDTO
8484
)
8585

8686
expect(actual).toBeUndefined()
@@ -91,7 +91,7 @@ describe('execute', () => {
9191
test('should throw an error when the dataset id is incorrect', async () => {
9292
const createdDatasetIdentifiers = await createDataset.execute(testDataset)
9393

94-
const testDeaccessionDataset: DatasetDeaccessionDTO = {
94+
const testDeaccessionDatasetDTO: DatasetDeaccessionDTO = {
9595
deaccessionReason: 'Description of the deaccession reason.',
9696
deaccessionForwardURL: 'https://demo.dataverse.org'
9797
}
@@ -100,7 +100,7 @@ describe('execute', () => {
100100
deaccessionDataset.execute(
101101
createdDatasetIdentifiers.numericId,
102102
':latest-published',
103-
testDeaccessionDataset
103+
testDeaccessionDatasetDTO
104104
)
105105
).rejects.toThrow(Error)
106106

@@ -109,22 +109,22 @@ describe('execute', () => {
109109

110110
test('should not deaccession a dataset when it is not published', async () => {
111111
const createdDatasetIdentifiers = await createDataset.execute(testDataset)
112-
const testDeaccessionDataset: DatasetDeaccessionDTO = {
112+
const testDeaccessionDatasetDTO: DatasetDeaccessionDTO = {
113113
deaccessionReason: 'Description of the deaccession reason.'
114114
}
115115

116116
await expect(
117117
deaccessionDataset.execute(
118118
createdDatasetIdentifiers.numericId,
119119
':latest-published',
120-
testDeaccessionDataset
120+
testDeaccessionDatasetDTO
121121
)
122122
).rejects.toBeInstanceOf(WriteError)
123123

124124
await deleteUnpublishedDatasetViaApi(createdDatasetIdentifiers.numericId)
125125
})
126126

127-
test('should deaccession a dataset when it is deaccessioned once', async () => {
127+
test('should not deaccession a dataset when it is deaccessioned once', async () => {
128128
const createdDatasetIdentifiers = await createDataset.execute(testDataset)
129129

130130
const response = await publishDataset.execute(
@@ -135,21 +135,25 @@ describe('execute', () => {
135135

136136
expect(response).toBeUndefined()
137137

138-
const testDeaccessionDataset: DatasetDeaccessionDTO = {
138+
const testDeaccessionDatasetDTO: DatasetDeaccessionDTO = {
139139
deaccessionReason: 'Description of the deaccession reason.',
140140
deaccessionForwardURL: 'https://demo.dataverse.org'
141141
}
142142

143143
const actual = await deaccessionDataset.execute(
144144
createdDatasetIdentifiers.numericId,
145145
'1.0',
146-
testDeaccessionDataset
146+
testDeaccessionDatasetDTO
147147
)
148148

149149
expect(actual).toBeUndefined()
150150

151151
await expect(
152-
deaccessionDataset.execute(createdDatasetIdentifiers.numericId, '1.0', testDeaccessionDataset)
152+
deaccessionDataset.execute(
153+
createdDatasetIdentifiers.numericId,
154+
'1.0',
155+
testDeaccessionDatasetDTO
156+
)
153157
).rejects.toThrow(Error)
154158

155159
await deletePublishedDatasetViaApi(createdDatasetIdentifiers.persistentId)

test/integration/datasets/DatasetsRepository.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,10 @@ describe('DatasetsRepository', () => {
881881
const actual = await sut.deaccessionDataset(testDatasetIds.numericId, '1.0', deaccessionDTO)
882882

883883
expect(actual).toBeUndefined()
884+
885+
const dataset = await sut.getDataset(testDatasetIds.numericId, '1.0', true, false)
886+
887+
expect(dataset.versionInfo.state).toBe('DEACCESSIONED')
884888
})
885889

886890
test('should return error when dataset is deaccessioned', async () => {

test/testHelpers/datasets/datasetHelper.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import { DvObjectType } from '../../../src/core/domain/models/DvObjectOwnerNode'
1010
import TurndownService from 'turndown'
1111
import {
1212
DatasetDTO,
13-
DatasetMetadataFieldValueDTO,
14-
DatasetDeaccessionDTO
13+
DatasetMetadataFieldValueDTO
1514
} from '../../../src/datasets/domain/dtos/DatasetDTO'
15+
import { DatasetDeaccessionDTO } from '../../../src/datasets/domain/dtos/DatasetDeaccessionDTO'
1616
import { MetadataBlock, MetadataFieldType } from '../../../src'
1717
import {
1818
NewDatasetRequestPayload,

test/unit/datasets/DatasetsRepository.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -910,15 +910,15 @@ describe('DatasetsRepository', () => {
910910
const expectedApiKeyRequestConfig = {
911911
...TestConstants.TEST_EXPECTED_AUTHENTICATED_REQUEST_CONFIG_API_KEY
912912
}
913-
const testDeaccessionDataset = createDatasetDeaccessionDTO()
914-
const testDeaccessionDatasetJSON = JSON.stringify(testDeaccessionDataset)
913+
const testDeaccessionDatasetDTO = createDatasetDeaccessionDTO()
914+
const testDeaccessionDatasetJSON = JSON.stringify(testDeaccessionDatasetDTO)
915915
test('should return nothing when providing id, version update type and response is successful', async () => {
916916
jest.spyOn(axios, 'post').mockResolvedValue(undefined)
917917

918918
let actual = await sut.deaccessionDataset(
919919
testDatasetModel.id,
920920
version,
921-
testDeaccessionDataset
921+
testDeaccessionDatasetDTO
922922
)
923923

924924
expect(axios.post).toHaveBeenCalledWith(
@@ -930,7 +930,7 @@ describe('DatasetsRepository', () => {
930930

931931
ApiConfig.init(TestConstants.TEST_API_URL, DataverseApiAuthMechanism.SESSION_COOKIE)
932932

933-
actual = await sut.deaccessionDataset(testDatasetModel.id, version, testDeaccessionDataset)
933+
actual = await sut.deaccessionDataset(testDatasetModel.id, version, testDeaccessionDatasetDTO)
934934

935935
expect(axios.post).toHaveBeenCalledWith(
936936
expectedApiEndpoint,
@@ -945,7 +945,7 @@ describe('DatasetsRepository', () => {
945945

946946
let error: WriteError | undefined = undefined
947947
await sut
948-
.deaccessionDataset(testDatasetModel.id, version, testDeaccessionDataset)
948+
.deaccessionDataset(testDatasetModel.id, version, testDeaccessionDatasetDTO)
949949
.catch((e) => (error = e))
950950

951951
expect(axios.post).toHaveBeenCalledWith(

0 commit comments

Comments
 (0)