Skip to content

Commit 6064d60

Browse files
committed
feat: fix testcase, and add updateFileMetadata to usecases.md
1 parent cdc198c commit 6064d60

File tree

3 files changed

+43
-18
lines changed

3 files changed

+43
-18
lines changed

docs/useCases.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1237,6 +1237,39 @@ The following error might arise from the `AddUploadedFileToDataset` use case:
12371237

12381238
- AddUploadedFileToDatasetError: This error indicates that there was an error while adding the uploaded file to the dataset.
12391239

1240+
#### Updating File Metadata Use Cases
1241+
1242+
This use case is designed to update or edit metadata information for a specific file by a numeric identifier or persistemt identifier.
1243+
1244+
##### Update File Metadata
1245+
1246+
###### Example call:
1247+
1248+
````typescript
1249+
import { updateFileMetadata } from '@iqss/dataverse-client-javascript'
1250+
1251+
/* ... */
1252+
1253+
const fileId: number | string = 123
1254+
const updateFileMetadataDTO = {
1255+
description: 'My description bbb.',
1256+
categories: ['Data'],
1257+
restrict: false
1258+
}
1259+
1260+
await updateFileMetadata.execute(fileId, updateFileMetadataDTO).then((fileId) => {
1261+
console.log(`File updated successfully with file ID: ${fileId}`)
1262+
})
1263+
1264+
_See [use case](../src/files/domain/useCases/UpdateFileMetadata.ts) implementation_.
1265+
1266+
This use case supports the following optional parameters for updateFileMetadataDTO:
1267+
1268+
- **description**: (string)
1269+
- **prevFreeform**: (string)
1270+
- **categories**: (string[])
1271+
- **dataFileTags**: (string[])
1272+
- **restrict**: (boolean)
12401273
#### Delete a File
12411274

12421275
Deletes a File.
@@ -1253,7 +1286,7 @@ const fileId = 12345
12531286
deleteFile.execute(fileId)
12541287
12551288
/* ... */
1256-
```
1289+
````
12571290
12581291
_See [use case](../src/files/domain/useCases/DeleteFile.ts) implementation_.
12591292

test/integration/files/FilesRepository.test.ts

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import {
4141
deleteCollectionViaApi,
4242
setStorageDriverViaApi
4343
} from '../../testHelpers/collections/collectionHelper'
44-
import { getFileMetadata } from '../../testHelpers/files/filesHelper'
4544

4645
describe('FilesRepository', () => {
4746
const sut: FilesRepository = new FilesRepository()
@@ -858,30 +857,15 @@ describe('FilesRepository', () => {
858857

859858
describe('updateFileMetadata', () => {
860859
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)
869860
const testFileMetadata = {
870861
description: 'My description bbb.',
871862
categories: ['Data'],
872863
restrict: false
873864
}
874865

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-
})
866+
const actual = await sut.updateFileMetadata(testFileId, testFileMetadata)
879867

880-
await new Promise((resolve) => setTimeout(resolve, 1000))
881868
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)
885869
})
886870

887871
test('should return error when file does not exist', async () => {

test/testHelpers/files/filesHelper.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,11 @@ export const getFileMetadata = async (fileId: number): Promise<AxiosResponse> =>
235235
}
236236
})
237237
}
238+
239+
export const createFileMetadataWithCategories = (): FileMetadata => {
240+
return {
241+
categories: ['category1', 'category2'],
242+
description: 'description',
243+
directoryLabel: 'directoryLabel'
244+
}
245+
}

0 commit comments

Comments
 (0)