@@ -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