Skip to content

Commit aebd205

Browse files
committed
fix: copilot review
1 parent f63b27e commit aebd205

5 files changed

Lines changed: 41 additions & 10 deletions

File tree

src/datasets/infra/repositories/DatasetsRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ export class DatasetsRepository extends ApiRepository implements IDatasetsReposi
117117
includeDeaccessioned: includeDeaccessioned,
118118
excludeFiles: true,
119119
returnOwners: true,
120-
...(previewUrlToken && { key: previewUrlToken })
120+
...(previewUrlToken !== undefined && { key: previewUrlToken })
121121
}
122122
)
123123
.then((response) => transformVersionResponseToDataset(response, keepRawFields))

src/files/infra/repositories/FilesRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ export class FilesRepository extends ApiRepository implements IFilesRepository {
222222
returnDatasetVersion: returnDatasetVersion,
223223
returnOwners: true,
224224
includeDeaccessioned: includeDeaccessioned,
225-
...(previewUrlToken && { key: previewUrlToken })
225+
...(previewUrlToken !== undefined && { key: previewUrlToken })
226226
}
227227
)
228228
.then((response) => transformFileResponseToFile(response, returnDatasetVersion))

test/integration/datasets/DatasetsRepository.test.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -518,15 +518,15 @@ describe('DatasetsRepository', () => {
518518
})
519519
})
520520

521-
describe('Private URLs', () => {
521+
describe('Private and Preview URLs', () => {
522522
const expectedErrorInvalidToken = '[404] Private URL user not found'
523523
let testDatasetIds: CreatedDatasetIdentifiers
524-
let privateUrlToken: string
524+
let previewUrlToken: string
525525

526526
beforeAll(async () => {
527527
testDatasetIds = await createDataset.execute(TestConstants.TEST_NEW_DATASET_DTO)
528528
const previewUrl = await sut.createPreviewUrl(testDatasetIds.numericId)
529-
privateUrlToken = previewUrl.token
529+
previewUrlToken = previewUrl.token
530530
})
531531

532532
afterAll(async () => {
@@ -535,7 +535,7 @@ describe('DatasetsRepository', () => {
535535

536536
describe('getPrivateUrlDataset', () => {
537537
test('should return dataset when token is valid', async () => {
538-
const actual = await sut.getPrivateUrlDataset(privateUrlToken, false)
538+
const actual = await sut.getPrivateUrlDataset(previewUrlToken, false)
539539
expect(actual.id).toBe(testDatasetIds.numericId)
540540
})
541541

@@ -547,7 +547,7 @@ describe('DatasetsRepository', () => {
547547

548548
describe('getPrivateUrlDatasetCitation', () => {
549549
test('should return dataset citation when token is valid', async () => {
550-
const actual = await sut.getPrivateUrlDatasetCitation(privateUrlToken)
550+
const actual = await sut.getPrivateUrlDatasetCitation(previewUrlToken)
551551
expect(typeof actual).toBe('string')
552552
})
553553

@@ -670,10 +670,7 @@ describe('DatasetsRepository', () => {
670670
})
671671

672672
describe('getDataset with a preview URL token', () => {
673-
let previewUrlToken: string
674-
675673
beforeEach(() => {
676-
previewUrlToken = privateUrlToken
677674
ApiConfig.init(TestConstants.TEST_API_URL, DataverseApiAuthMechanism.API_KEY, undefined)
678675
})
679676

test/unit/datasets/DatasetsRepository.test.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,6 +331,29 @@ describe('DatasetsRepository', () => {
331331
})
332332
expect(actual).toStrictEqual(testDatasetModel)
333333
})
334+
335+
test('should include an empty preview URL token as a key query param', async () => {
336+
jest.spyOn(axios, 'get').mockResolvedValue(testDatasetVersionSuccessfulResponse)
337+
const expectedApiEndpoint = `${TestConstants.TEST_API_URL}/datasets/${testDatasetModel.id}/versions/${testVersionId}`
338+
339+
await sut.getDataset(
340+
testDatasetModel.id,
341+
testVersionId,
342+
testIncludeDeaccessioned,
343+
false,
344+
''
345+
)
346+
347+
expect(axios.get).toHaveBeenCalledWith(expectedApiEndpoint, {
348+
params: {
349+
includeDeaccessioned: testIncludeDeaccessioned,
350+
excludeFiles: true,
351+
returnOwners: true,
352+
key: ''
353+
},
354+
headers: TestConstants.TEST_EXPECTED_UNAUTHENTICATED_REQUEST_CONFIG.headers
355+
})
356+
})
334357
})
335358
describe('by persistent id', () => {
336359
test('should return Dataset when providing persistent id, version id, and response is successful', async () => {

test/unit/files/FilesRepository.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,6 +1152,17 @@ describe('FilesRepository', () => {
11521152
})
11531153
expect(actual).toEqual(createFileModel())
11541154
})
1155+
1156+
test('should include an empty preview URL token as a key query param', async () => {
1157+
jest.spyOn(axios, 'get').mockResolvedValue(testGetFileResponse)
1158+
1159+
await sut.getFile(testFile.id, DatasetNotNumberedVersion.LATEST, false, false, '')
1160+
1161+
expect(axios.get).toHaveBeenCalledWith(expectedApiEndpoint, {
1162+
params: { ...expectedRequestParams, key: '' },
1163+
headers: TestConstants.TEST_EXPECTED_UNAUTHENTICATED_REQUEST_CONFIG.headers
1164+
})
1165+
})
11551166
})
11561167

11571168
describe('by persistent id', () => {

0 commit comments

Comments
 (0)