Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ This changelog follows the principles of [Keep a Changelog](https://keepachangel
- New Use Case: [Get a Template](./docs/useCases.md#get-a-template) under Templates.
- New Use Case: [Delete a Template](./docs/useCases.md#delete-a-template) under Templates.
- New Use Case: [Update Terms of Access](./docs/useCases.md#update-terms-of-access).
- DatasetType: Updated datasetType data model. Added two more fields Description and DisplayName.
Comment thread
ChengShi-1 marked this conversation as resolved.
Outdated

### Changed

Expand Down
2 changes: 2 additions & 0 deletions src/datasets/domain/models/DatasetType.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
export interface DatasetType {
id: number
name: string
displayName: string
Comment thread
ChengShi-1 marked this conversation as resolved.
linkedMetadataBlocks?: string[]
availableLicenses?: string[]
description?: string
}
7 changes: 5 additions & 2 deletions test/functional/datasets/AddDatasetType.test.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { randomUUID } from 'node:crypto'
import { ApiConfig, DatasetType, addDatasetType, deleteDatasetType } from '../../../src'
import { DataverseApiAuthMechanism } from '../../../src/core/infra/repositories/ApiConfig'
import { TestConstants } from '../../testHelpers/TestConstants'
Expand All @@ -13,11 +14,13 @@ describe('AddDatasetType', () => {
})

test('should allow for adding and deleting a dataset type', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand Down
7 changes: 5 additions & 2 deletions test/functional/datasets/DeleteDatasetType.test.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { randomUUID } from 'node:crypto'
import { ApiConfig, DatasetType, addDatasetType, deleteDatasetType } from '../../../src'
import { DataverseApiAuthMechanism } from '../../../src/core/infra/repositories/ApiConfig'
import { TestConstants } from '../../testHelpers/TestConstants'
Expand All @@ -13,11 +14,13 @@ describe('DeleteDatasetType', () => {
})

test('should allow for adding and deleting a dataset type', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@ describe('getDatasetAvailableDatasetType', () => {
const expectedDatasetType = {
id: 1,
name: 'dataset',
displayName: 'Dataset',
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
description:
'A study, experiment, set of observations, or publication. A dataset can comprise a single file or multiple files.'
}

expect(actualDatasetType).toEqual(expectedDatasetType)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,12 @@ describe('getDatasetAvailableDatasetTypes', () => {
id: 1,
name: 'dataset',
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
description:
'A study, experiment, set of observations, or publication. A dataset can comprise a single file or multiple files.',
displayName: 'Dataset'
}
]

expect(actualDatasetTypes).toEqual(expectedDatasetTypes)
})
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { randomUUID } from 'node:crypto'
import {
ApiConfig,
DatasetType,
Expand All @@ -19,11 +20,13 @@ describe('LinkDatasetTypeWithMetadataBlocks', () => {
})

test('should allow for linking a dataset type to metadata blocks', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { randomUUID } from 'node:crypto'
import {
ApiConfig,
DatasetType,
Expand All @@ -19,11 +20,13 @@ describe('SetAvailableLicensesForDatasetType', () => {
})

test('should allow for setting available licenses for a dataset type', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand Down
35 changes: 25 additions & 10 deletions test/integration/datasets/DatasetsRepository.test.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { randomUUID } from 'node:crypto'
import { DatasetsRepository } from '../../../src/datasets/infra/repositories/DatasetsRepository'
import { TestConstants } from '../../testHelpers/TestConstants'
import {
Expand Down Expand Up @@ -1821,8 +1822,11 @@ describe('DatasetsRepository', () => {
{
id: 1,
name: 'dataset',
displayName: 'Dataset',
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
description:
'A study, experiment, set of observations, or publication. A dataset can comprise a single file or multiple files.'
}
]

Expand All @@ -1839,8 +1843,11 @@ describe('DatasetsRepository', () => {
const expectedDatasetType = {
id: 1,
name: 'dataset',
displayName: 'Dataset',
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
description:
'A study, experiment, set of observations, or publication. A dataset can comprise a single file or multiple files.'
}

expect(actualDatasetType).toEqual(expectedDatasetType)
Expand All @@ -1849,11 +1856,13 @@ describe('DatasetsRepository', () => {

describe('addDatasetType', () => {
test('should add a dataset type', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})

expect(actual.name).toEqual(randomName)
Expand All @@ -1862,11 +1871,13 @@ describe('DatasetsRepository', () => {

describe('deleteDatasetType', () => {
test('should delete a dataset type (after adding it)', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand All @@ -1877,11 +1888,13 @@ describe('DatasetsRepository', () => {

describe('linkDatasetTypeWithMetadataBlocks', () => {
test('should allow for linking a dataset type to metadata blocks', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand All @@ -1899,11 +1912,13 @@ describe('DatasetsRepository', () => {

describe('setAvailableLicensesForDatasetType', () => {
test('should allow for setting available licenses for a dataset type', async () => {
const randomName = `datasetType-${crypto.randomUUID().slice(0, 6)}`
const randomName = `datasetType-${randomUUID().slice(0, 6)}`
const actual: DatasetType = await addDatasetType.execute({
name: randomName,
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
displayName: randomName,
description: 'A dataset type created for testing purposes'
})
expect(actual.name).toEqual(randomName)

Expand Down
5 changes: 4 additions & 1 deletion test/unit/datasets/GetDatasetAvailableDatasetType.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,11 @@ describe('GetDatasetAvailableDatasetType', () => {
const expectedDatasetType: DatasetType = {
id: datasetTypeId,
name: datasetTypeName,
displayName: 'Dataset',
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
description:
'A study, experiment, set of observations, or publication. A dataset can comprise a single file or multiple files.'
}

it('should get a dataset type by database id', async () => {
Expand Down
9 changes: 7 additions & 2 deletions test/unit/datasets/GetDatasetAvailableDatasetTypes.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,19 @@ describe('GetDatasetAvailableDatasetTypes', () => {
{
id: 1,
name: 'dataset',
displayName: 'Dataset',
linkedMetadataBlocks: [],
availableLicenses: []
availableLicenses: [],
description:
'A study, experiment, set of observations, or publication. A dataset can comprise a single file or multiple files.'
},
{
id: 2,
name: 'software',
displayName: 'Software',
linkedMetadataBlocks: ['codeMeta20'],
availableLicenses: ['MIT', 'Apache-2.0']
availableLicenses: ['MIT', 'Apache-2.0'],
description: 'Software data and metadata.'
}
]

Expand Down
Loading