@@ -4,7 +4,21 @@ import { render, cleanup, fireEvent } from '@testing-library/react';
4
4
import FileInputPreview from './FileInputPreview' ;
5
5
6
6
describe ( '<FileInputPreview />' , ( ) => {
7
- afterEach ( cleanup ) ;
7
+ beforeAll ( ( ) => {
8
+ // @ts -ignore
9
+ global . URL . revokeObjectURL = jest . fn ( ) ;
10
+ } ) ;
11
+
12
+ afterAll ( ( ) => {
13
+ // @ts -ignore
14
+ delete global . URL . revokeObjectURL ;
15
+ } ) ;
16
+
17
+ afterEach ( ( ) => {
18
+ // @ts -ignore
19
+ global . URL . revokeObjectURL . mockClear ( ) ;
20
+ cleanup ( ) ;
21
+ } ) ;
8
22
9
23
const file = {
10
24
preview : 'previewUrl' ,
@@ -13,7 +27,6 @@ describe('<FileInputPreview />', () => {
13
27
const defaultProps = {
14
28
file,
15
29
onRemove : jest . fn ( ) ,
16
- revokeObjectURL : jest . fn ( ) ,
17
30
} ;
18
31
19
32
it ( 'should call `onRemove` prop when clicking on remove button' , ( ) => {
@@ -41,36 +54,28 @@ describe('<FileInputPreview />', () => {
41
54
} ) ;
42
55
43
56
it ( 'should clean up generated URLs for preview' , ( ) => {
44
- const revokeObjectURL = jest . fn ( ) ;
45
-
46
57
const { unmount } = render (
47
- < FileInputPreview
48
- { ...defaultProps }
49
- revokeObjectURL = { revokeObjectURL }
50
- >
58
+ < FileInputPreview { ...defaultProps } >
51
59
< div id = "child" > Child</ div >
52
60
</ FileInputPreview >
53
61
) ;
54
62
55
63
unmount ( ) ;
56
- expect ( revokeObjectURL ) . toHaveBeenCalledWith ( 'previewUrl' ) ;
64
+ // @ts -ignore
65
+ expect ( global . URL . revokeObjectURL ) . toHaveBeenCalledWith ( 'previewUrl' ) ;
57
66
} ) ;
58
67
59
68
it ( 'should not try to clean up preview urls if not passed a File object with a preview' , ( ) => {
60
69
const file = { } ;
61
- const revokeObjectURL = jest . fn ( ) ;
62
70
63
71
const { unmount } = render (
64
- < FileInputPreview
65
- { ...defaultProps }
66
- file = { file }
67
- revokeObjectURL = { revokeObjectURL }
68
- >
72
+ < FileInputPreview { ...defaultProps } file = { file } >
69
73
< div id = "child" > Child</ div >
70
74
</ FileInputPreview >
71
75
) ;
72
76
73
77
unmount ( ) ;
74
- expect ( revokeObjectURL ) . not . toHaveBeenCalled ( ) ;
78
+ // @ts -ignore
79
+ expect ( global . URL . revokeObjectURL ) . not . toHaveBeenCalled ( ) ;
75
80
} ) ;
76
81
} ) ;
0 commit comments