@@ -41,6 +41,7 @@ import {
4141 deleteCollectionViaApi ,
4242 setStorageDriverViaApi
4343} from '../../testHelpers/collections/collectionHelper'
44+ import { getFileMetadata } from '../../testHelpers/files/filesHelper'
4445
4546describe ( 'FilesRepository' , ( ) => {
4647 const sut : FilesRepository = new FilesRepository ( )
@@ -854,4 +855,47 @@ describe('FilesRepository', () => {
854855 await expect ( setFileToRestricted ( nonExistentFiledId ) ) . rejects . toThrow ( expectedError )
855856 } )
856857 } )
858+
859+ describe ( 'updateFileMetadata' , ( ) => {
860+ test ( 'should update file metadata when file exists' , async ( ) => {
861+ const getDatasetFiles = await sut . getDatasetFiles (
862+ testDatasetIds . numericId ,
863+ latestDatasetVersionId ,
864+ false ,
865+ FileOrderCriteria . NAME_AZ
866+ )
867+ const fileid = getDatasetFiles . files [ 0 ] . id
868+ console . log ( 'updateFileMetadata fileid' , fileid )
869+ const testFileMetadata = {
870+ description : 'My description bbb.' ,
871+ categories : [ 'Data' ] ,
872+ restrict : false
873+ }
874+
875+ const actual = await sut . updateFileMetadata ( fileid , testFileMetadata )
876+ const getFileMetadataResult = await getFileMetadata ( fileid ) . catch ( ( ) => {
877+ throw new Error ( `Error while getting file metadata ${ fileid } ` )
878+ } )
879+
880+ await new Promise ( ( resolve ) => setTimeout ( resolve , 1000 ) )
881+ expect ( actual ) . toBeUndefined ( )
882+ expect ( getFileMetadataResult . data . description ) . toBe ( testFileMetadata . description )
883+ expect ( getFileMetadataResult . data . categories ) . toEqual ( testFileMetadata . categories )
884+ expect ( getFileMetadataResult . data . restricted ) . toBe ( testFileMetadata . restrict )
885+ } )
886+
887+ test ( 'should return error when file does not exist' , async ( ) => {
888+ const nonExistentFiledId = 4000
889+ const testFileMetadata = {
890+ description : 'My description bbb.' ,
891+ categories : [ 'Data' ] ,
892+ restrict : false
893+ }
894+ const errorExpected = new WriteError ( `[400] Error attempting get the requested data file.` )
895+
896+ await expect ( sut . updateFileMetadata ( nonExistentFiledId , testFileMetadata ) ) . rejects . toThrow (
897+ errorExpected
898+ )
899+ } )
900+ } )
857901} )
0 commit comments