Skip to content

Commit aa0ba95

Browse files
committed
chore: add unit test
1 parent 3caca30 commit aa0ba95

File tree

1 file changed

+48
-3
lines changed

1 file changed

+48
-3
lines changed

src/packages/uploader/__tests__/uploader.spec.tsx

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,9 @@ import { render, fireEvent } from '@testing-library/react'
33
import '@testing-library/jest-dom'
44

55
import { Uploader } from '../uploader'
6-
import { FileItem } from '../file-item'
6+
import { FileItem } from '../types'
77
import { Preview } from '../preview'
8+
import Button from '@/packages/button'
89

910
test('should render base uploader and type', () => {
1011
const { container, getByTestId } = render(
@@ -143,7 +144,7 @@ test('should render base uploader props disabled', () => {
143144
test('before-delete prop return false', () => {
144145
const onDelete = vi.fn()
145146
const App = () => {
146-
const defaultFileList: FileItem[] = [
147+
const fileList: FileItem[] = [
147148
{
148149
name: '文件1.png',
149150
url: 'https://m.360buyimg.com/babel/jfs/t1/164410/22/25162/93384/616eac6cE6c711350/0cac53c1b82e1b05.gif',
@@ -156,7 +157,7 @@ test('before-delete prop return false', () => {
156157
return (
157158
<Uploader
158159
deletable
159-
defaultValue={defaultFileList}
160+
value={fileList}
160161
onDelete={onDelete}
161162
beforeDelete={() => {
162163
return false
@@ -198,6 +199,50 @@ test('before-delete prop return true', () => {
198199
expect(onDelete).toBeCalled()
199200
})
200201

202+
test('should render progress', () => {
203+
const App = () => {
204+
const list: FileItem[] = [
205+
{
206+
name: '文件444.png',
207+
url: 'https://m.360buyimg.com/babel/jfs/t1/164410/22/25162/93384/616eac6cE6c711350/0cac53c1b82e1b05.gif',
208+
status: 'uploading',
209+
message: '上传中...',
210+
percentage: 30,
211+
},
212+
]
213+
return <Uploader deletable value={list} previewType="list" />
214+
}
215+
const { container } = render(<App />)
216+
const progressElement = container.querySelector('.nut-progress')
217+
expect(progressElement).toBeInTheDocument()
218+
const progressInnerElement = container.querySelector('.nut-progress-inner')
219+
expect(progressInnerElement).toBeInTheDocument()
220+
expect(progressInnerElement).toHaveStyle('width: 30%')
221+
})
222+
test('should render button', () => {
223+
const clearUpload = vi.fn()
224+
const submitUpload = vi.fn()
225+
const App = () => {
226+
return (
227+
<>
228+
<Uploader />
229+
<Button type="success" onClick={submitUpload}>
230+
执行上传
231+
</Button>
232+
<Button type="primary" onClick={clearUpload}>
233+
手动清空上传
234+
</Button>
235+
</>
236+
)
237+
}
238+
const { container } = render(<App />)
239+
const buttonElement = container.querySelector('.nut-button')
240+
expect(buttonElement).toBeInTheDocument()
241+
fireEvent.click(container.querySelectorAll('.nut-button-success')[0])
242+
expect(submitUpload).toBeCalled()
243+
fireEvent.click(container.querySelectorAll('.nut-button-primary')[0])
244+
expect(clearUpload).toBeCalled()
245+
})
201246
test('ready file list', () => {
202247
const list: any = {}
203248
list.name = '文件1.png'

0 commit comments

Comments
 (0)