@@ -3,8 +3,9 @@ import { render, fireEvent } from '@testing-library/react'
33import '@testing-library/jest-dom'
44
55import { Uploader } from '../uploader'
6- import { FileItem } from '../file-item '
6+ import { FileItem } from '../types '
77import { Preview } from '../preview'
8+ import Button from '@/packages/button'
89
910test ( 'should render base uploader and type' , ( ) => {
1011 const { container, getByTestId } = render (
@@ -143,7 +144,7 @@ test('should render base uploader props disabled', () => {
143144test ( '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+ } )
201246test ( 'ready file list' , ( ) => {
202247 const list : any = { }
203248 list . name = '文件1.png'
0 commit comments