diff --git a/packages/network/src/api/pdf/requests.ts b/packages/network/src/api/pdf/requests.ts index 9cb789640..cd5728813 100644 --- a/packages/network/src/api/pdf/requests.ts +++ b/packages/network/src/api/pdf/requests.ts @@ -21,6 +21,12 @@ export interface UploadPdfOptions { * The PDF file to upload. */ pdf: Blob; + /** + * The timeout in milliseconds for the request. + * + * @default 30000 + */ + timeout?: number; } /** @@ -80,7 +86,10 @@ export async function uploadPdf( config: MonkApiConfig, dispatch?: Dispatch, ): Promise { - const kyOptions = getDefaultOptions(config); + const kyOptions = { + ...getDefaultOptions(config), + ...(!!options.timeout && { timeout: options.timeout }), + }; const formData = await createPdfData(options); await ky.post(`inspections/${options.id}/pdf`, { ...kyOptions, diff --git a/packages/network/test/api/pdf/requests.test.ts b/packages/network/test/api/pdf/requests.test.ts index 8511f319d..2dd09ca78 100644 --- a/packages/network/test/api/pdf/requests.test.ts +++ b/packages/network/test/api/pdf/requests.test.ts @@ -104,6 +104,18 @@ describe('pdf requests', () => { { type: filetype }, ); }); + + it('should properly use the timeout if defined', async () => { + const timeout = 60000; + const dispatch = jest.fn(); + const options = { ...createPdfMock(), timeout }; + await uploadPdf(options, apiConfig, dispatch); + await (ky.post as jest.Mock).mock.results[0].value; + expect(ky.post).toHaveBeenCalledWith( + `inspections/${options.id}/pdf`, + expect.objectContaining({ ...getDefaultOptions(apiConfig), timeout }), + ); + }); }); describe('getPdf request', () => { diff --git a/packages/sights/research/data/teslamx/overlays/teslamx-Kp2NvR8w.svg b/packages/sights/research/data/teslamx/overlays/teslamx-Kp2NvR8w.svg index 9c78a0119..df40d9a45 100644 --- a/packages/sights/research/data/teslamx/overlays/teslamx-Kp2NvR8w.svg +++ b/packages/sights/research/data/teslamx/overlays/teslamx-Kp2NvR8w.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/sights/research/data/teslamy/overlays/teslamy-R4Lp6TqY.svg b/packages/sights/research/data/teslamy/overlays/teslamy-R4Lp6TqY.svg index 9c78a0119..df40d9a45 100644 --- a/packages/sights/research/data/teslamy/overlays/teslamy-R4Lp6TqY.svg +++ b/packages/sights/research/data/teslamy/overlays/teslamy-R4Lp6TqY.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file