Skip to content

Commit ac3e461

Browse files
Add tests to copyS3File to handle files that have already been persisted
1 parent d3a4aea commit ac3e461

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

src/services/file-service.test.js

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -801,7 +801,7 @@ describe('Files service', () => {
801801
})
802802
})
803803

804-
it('should not allow a previously extended file to be extended again', async () => {
804+
it('should allow a previously extended file to be extended again', async () => {
805805
/** @type {FormFileUploadStatus} */
806806
const dummyData = {
807807
...successfulFile,
@@ -812,20 +812,25 @@ describe('Files service', () => {
812812
jest.mocked(verify).mockResolvedValueOnce(true)
813813
jest.mocked(repository.getByFileId).mockResolvedValueOnce(dummyData)
814814

815-
await expect(
816-
persistFiles(
817-
[
818-
{
819-
fileId: dummyData.fileId,
820-
initiatedRetrievalKey: dummyData.retrievalKey
821-
}
822-
],
823-
dummyData.retrievalKey
824-
)
825-
).rejects.toThrow(
826-
Boom.badRequest(
827-
`File ID ${dummyData.fileId} has already been persisted`
828-
)
815+
jest.mocked(hash).mockResolvedValueOnce('caseSensitiveHash')
816+
jest.mocked(verify).mockResolvedValueOnce(true)
817+
818+
await persistFiles(
819+
[
820+
{
821+
fileId: dummyData.fileId,
822+
initiatedRetrievalKey: dummyData.retrievalKey
823+
}
824+
],
825+
dummyData.retrievalKey
826+
)
827+
828+
expect(hash).toHaveBeenCalledWith(dummyData.retrievalKey.toLowerCase())
829+
expect(repository.updateRetrievalKeys).toHaveBeenCalledWith(
830+
[dummyData.fileId],
831+
'caseSensitiveHash',
832+
false,
833+
expect.any(Object)
829834
)
830835
})
831836

0 commit comments

Comments
 (0)