@@ -2,7 +2,6 @@ import { renderHook, act } from '@testing-library/react';
2
2
3
3
import { useSimulateProgress } from '../src' ;
4
4
5
- // Mock timers
6
5
jest . useFakeTimers ( ) ;
7
6
8
7
describe ( 'useSimulateProgress' , ( ) => {
@@ -12,12 +11,10 @@ describe('useSimulateProgress', () => {
12
11
useSimulateProgress ( 1000 , mockCallback ) ,
13
12
) ;
14
13
15
- // Progress should initially be 0
16
14
expect ( result . current [ 0 ] ) . toBe ( 0 ) ;
17
15
18
- // Progress should not change before startProgress is called
19
16
act ( ( ) => {
20
- jest . advanceTimersByTime ( 500 ) ; // Fast-forward 500ms
17
+ jest . advanceTimersByTime ( 500 ) ;
21
18
} ) ;
22
19
expect ( result . current [ 0 ] ) . toBe ( 0 ) ;
23
20
} ) ;
@@ -28,31 +25,26 @@ describe('useSimulateProgress', () => {
28
25
useSimulateProgress ( 1000 , mockCallback ) ,
29
26
) ;
30
27
31
- // Call startProgress to trigger the progress
32
28
act ( ( ) => {
33
- result . current [ 1 ] ( ) ; // Call startProgress
29
+ result . current [ 1 ] ( ) ;
34
30
} ) ;
35
31
36
- // Fast-forward the timer, simulating time passing
37
32
act ( ( ) => {
38
- jest . advanceTimersByTime ( 250 ) ; // Fast-forward 250ms
33
+ jest . advanceTimersByTime ( 250 ) ;
39
34
} ) ;
40
35
41
- // Progress should update to 25%
42
36
expect ( result . current [ 0 ] ) . toBe ( 25 ) ;
43
37
44
38
act ( ( ) => {
45
- jest . advanceTimersByTime ( 500 ) ; // Fast-forward another 500ms
39
+ jest . advanceTimersByTime ( 500 ) ;
46
40
} ) ;
47
41
48
- // Progress should update to 75%
49
42
expect ( result . current [ 0 ] ) . toBe ( 75 ) ;
50
43
51
44
act ( ( ) => {
52
- jest . advanceTimersByTime ( 250 ) ; // Finish the remaining time
45
+ jest . advanceTimersByTime ( 250 ) ;
53
46
} ) ;
54
47
55
- // Progress should be 100%, and callback should be called
56
48
expect ( result . current [ 0 ] ) . toBe ( 100 ) ;
57
49
expect ( mockCallback ) . toHaveBeenCalledTimes ( 1 ) ;
58
50
} ) ;
@@ -86,31 +78,24 @@ describe('useSimulateProgress', () => {
86
78
useSimulateProgress ( 1000 , mockCallback ) ,
87
79
) ;
88
80
89
- // Call startProgress to trigger the progress
90
81
act ( ( ) => {
91
- result . current [ 1 ] ( ) ; // Call startProgress
82
+ result . current [ 1 ] ( ) ;
92
83
} ) ;
93
84
94
- // Fast-forward the timer halfway
95
85
act ( ( ) => {
96
86
jest . advanceTimersByTime ( 500 ) ;
97
87
} ) ;
98
88
99
- // Progress should be 50%
100
89
expect ( result . current [ 0 ] ) . toBe ( 50 ) ;
101
90
102
- // Unmount the component
103
91
unmount ( ) ;
104
92
105
- // Clear the timer, ensuring no further updates
106
93
act ( ( ) => {
107
- jest . advanceTimersByTime ( 500 ) ; // Finish the remaining time
94
+ jest . advanceTimersByTime ( 500 ) ;
108
95
} ) ;
109
96
110
- // Progress should not update further
111
97
expect ( result . current [ 0 ] ) . toBe ( 50 ) ;
112
98
113
- // Callback should not be called
114
99
expect ( mockCallback ) . not . toHaveBeenCalled ( ) ;
115
100
} ) ;
116
101
} ) ;
0 commit comments