From c1ceb9472dd5bf21bc95e525383b4a924d1c6982 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:00:11 +0800 Subject: [PATCH 1/2] Revert "feat: support `name` prop (#574)" This reverts commit d94d644f61457098a1c57542519337d20acc91d9. --- src/AjaxUploader.tsx | 2 -- src/Upload.tsx | 1 + tests/uploader.spec.tsx | 6 ------ 3 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/AjaxUploader.tsx b/src/AjaxUploader.tsx index aded078..c8d4b9a 100644 --- a/src/AjaxUploader.tsx +++ b/src/AjaxUploader.tsx @@ -269,7 +269,6 @@ class AjaxUploader extends Component { classNames = {}, disabled, id, - name, style, styles = {}, multiple, @@ -308,7 +307,6 @@ class AjaxUploader extends Component { { prefixCls: 'rc-upload', data: {}, headers: {}, + name: 'file', multipart: false, onStart: empty, onError: empty, diff --git a/tests/uploader.spec.tsx b/tests/uploader.spec.tsx index bb94dd1..efcb70d 100644 --- a/tests/uploader.spec.tsx +++ b/tests/uploader.spec.tsx @@ -152,12 +152,6 @@ describe('uploader', () => { expect(container.querySelector('input')!.id).toBe('bamboo'); }); - // https://github.com/ant-design/ant-design/issues/50643 - it('with name', () => { - const { container } = render(); - expect(container.querySelector('input')!.name).toBe('bamboo'); - }); - it('should pass through data & aria attributes', () => { const { container } = render( Date: Fri, 30 Aug 2024 17:24:12 +0800 Subject: [PATCH 2/2] 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', () => {