From c90d091d039886bc54fe7fe51aa15a99efe3f6bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9D=91=BE=F0=9D=92=96=F0=9D=92=99=F0=9D=92=89?= Date: Fri, 30 Aug 2024 17:24:12 +0800 Subject: [PATCH] test: add unit test --- tests/uploader.spec.tsx | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/uploader.spec.tsx b/tests/uploader.spec.tsx index efcb70d..68a8208 100644 --- a/tests/uploader.spec.tsx +++ b/tests/uploader.spec.tsx @@ -369,6 +369,31 @@ describe('uploader', () => { await new Promise(resolve => setTimeout(resolve, 100)); await new Promise(resolve => setTimeout(resolve, 2000)); }); + + it('should pass file to request', done => { + const fakeRequest = jest.fn((file) => { + expect(file).toEqual(expect.objectContaining({ + filename: 'file', // <= https://github.com/react-component/upload/pull/574 + file: expect.any(File), + method: 'post', + onError: expect.any(Function), + onProgress: expect.any(Function), + onSuccess: expect.any(Function), + data: expect.anything(), + })); + + done(); + }); + + const { container } = render(); + const input = container.querySelector('input')!; + const files = [new File([''], 'success.png', { type: 'image/png' })]; + Object.defineProperty(files, 'item', { + value: i => files[i], + }); + + fireEvent.change(input, { target: { files } }); + }); }); describe('directory uploader', () => {