@@ -32,36 +32,35 @@ jest.mock('../../Config', () => ({
32
32
const pngFile = new File ( [ '(⌐□_□)' ] , 'chucknorris.png' , { type : 'image/png' } ) ;
33
33
34
34
describe ( 'AssetUploadButton' , ( ) => {
35
- it ( 'Does call onSelectFiles with uploaded file' , async ( ) => {
35
+ it ( 'Does call onSelectFiles with uploaded file' , ( ) => {
36
36
const onSelectFiles = jest . fn ( ) ;
37
37
38
- const { getByTestId} = render ( < AssetUploadButton onSelectFiles = { onSelectFiles } /> ) ;
38
+ const { container} = render ( < AssetUploadButton onSelectFiles = { onSelectFiles } /> ) ;
39
+ const fileInput = container . querySelector ( 'input[type="file"]' ) as HTMLInputElement ;
39
40
40
- const fileInput = getByTestId ( 'conversation-input-bar-files' ) as HTMLInputElement ;
41
41
fireEvent . change ( fileInput , {
42
42
target : { files : [ pngFile ] } ,
43
43
} ) ;
44
44
45
45
expect ( onSelectFiles ) . toHaveBeenCalledWith ( [ pngFile ] ) ;
46
46
} ) ;
47
47
48
- it ( 'Does reset file input after upload' , async ( ) => {
48
+ it ( 'Does reset a form with input after upload' , ( ) => {
49
49
const onSelectFiles = jest . fn ( ) ;
50
50
51
- const { getByTestId } = render ( < AssetUploadButton onSelectFiles = { onSelectFiles } /> ) ;
51
+ const { container } = render ( < AssetUploadButton onSelectFiles = { onSelectFiles } /> ) ;
52
52
53
- const getFileInput = ( ) => getByTestId ( 'conversation-input-bar-files' ) as HTMLInputElement ;
54
- let fileInput = getFileInput ( ) ;
53
+ const form = container . querySelector ( 'form' ) ;
54
+ jest . spyOn ( form ! , 'reset' ) ;
55
+
56
+ const fileInput = container . querySelector ( 'input[type="file"]' ) as HTMLInputElement ;
55
57
56
58
fireEvent . change ( fileInput , {
57
59
target : { files : [ pngFile ] } ,
58
60
} ) ;
59
61
60
- expect ( fileInput . files ?. [ 0 ] . name ) . toEqual ( pngFile . name ) ;
61
62
expect ( onSelectFiles ) . toHaveBeenCalledWith ( [ pngFile ] ) ;
62
-
63
- //input did reset we grab new reference
64
- fileInput = getFileInput ( ) ;
65
- expect ( fileInput . files ) . toHaveLength ( 0 ) ;
63
+ expect ( fileInput . files ?. [ 0 ] . name ) . toEqual ( pngFile . name ) ;
64
+ expect ( form ! . reset ) . toHaveBeenCalled ( ) ;
66
65
} ) ;
67
66
} ) ;
0 commit comments