Skip to content

Commit 48cc5dc

Browse files
committed
add test for when passing dataset type #359
1 parent 156963d commit 48cc5dc

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

test/unit/datasets/CreateDataset.test.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,47 @@ describe('execute', () => {
5656
)
5757
})
5858

59+
test('should return a dataset type', async () => {
60+
const testCreatedDatasetIdentifiers: CreatedDatasetIdentifiers = {
61+
persistentId: 'test',
62+
numericId: 1
63+
}
64+
65+
const datasetsRepositoryStub = <IDatasetsRepository>{}
66+
datasetsRepositoryStub.createDataset = jest
67+
.fn()
68+
.mockResolvedValue(testCreatedDatasetIdentifiers)
69+
70+
const datasetValidatorStub = <ResourceValidator>{}
71+
datasetValidatorStub.validate = jest.fn().mockResolvedValue(undefined)
72+
73+
const metadataBlocksRepositoryStub = <IMetadataBlocksRepository>{}
74+
metadataBlocksRepositoryStub.getMetadataBlockByName = jest
75+
.fn()
76+
.mockResolvedValue(testMetadataBlocks[0])
77+
78+
const sut = new CreateDataset(
79+
datasetsRepositoryStub,
80+
metadataBlocksRepositoryStub,
81+
datasetValidatorStub
82+
)
83+
84+
const actual = await sut.execute(testDataset, ROOT_COLLECTION_ID, 'software')
85+
86+
expect(actual).toEqual(testCreatedDatasetIdentifiers)
87+
88+
expect(metadataBlocksRepositoryStub.getMetadataBlockByName).toHaveBeenCalledWith(
89+
testMetadataBlocks[0].name
90+
)
91+
expect(datasetValidatorStub.validate).toHaveBeenCalledWith(testDataset, testMetadataBlocks)
92+
expect(datasetsRepositoryStub.createDataset).toHaveBeenCalledWith(
93+
testDataset,
94+
testMetadataBlocks,
95+
ROOT_COLLECTION_ID,
96+
'software'
97+
)
98+
})
99+
59100
test('should throw ResourceValidationError and not call repository when validation is unsuccessful', async () => {
60101
const datasetsRepositoryMock = <IDatasetsRepository>{}
61102
datasetsRepositoryMock.createDataset = jest.fn().mockResolvedValue(undefined)

0 commit comments

Comments
 (0)