@@ -20,22 +20,24 @@ class FixtureComponent implements OnInit {
20
20
}
21
21
}
22
22
23
- test ( 'allows detecting changes directly' , async ( ) => {
24
- const { getByTestId, type } = await render ( FixtureComponent , { imports : [ ReactiveFormsModule ] } ) ;
23
+ describe ( 'detectChanges' , ( ) => {
24
+ test ( 'does not recognize change if execution is delayed' , async ( ) => {
25
+ const { getByTestId, type } = await render ( FixtureComponent , { imports : [ ReactiveFormsModule ] } ) ;
25
26
26
- type ( getByTestId ( 'input' ) , 'What a great day!' ) ;
27
- expect ( getByTestId ( 'button' ) . innerHTML ) . toBe ( 'Button' ) ;
28
- } ) ;
29
-
30
- test ( 'allows detecting changes directly' , fakeAsync ( async ( ) => {
31
- const { getByTestId, type, detectChanges } = await render ( FixtureComponent , {
32
- imports : [ ReactiveFormsModule ] ,
27
+ type ( getByTestId ( 'input' ) , 'What a great day!' ) ;
28
+ expect ( getByTestId ( 'button' ) . innerHTML ) . toBe ( 'Button' ) ;
33
29
} ) ;
34
30
35
- type ( getByTestId ( 'input' ) , 'What a great day!' ) ;
31
+ test ( 'exposes detectChanges triggering a change detection cycle' , fakeAsync ( async ( ) => {
32
+ const { getByTestId, type, detectChanges } = await render ( FixtureComponent , {
33
+ imports : [ ReactiveFormsModule ] ,
34
+ } ) ;
36
35
37
- tick ( 500 ) ;
38
- detectChanges ( ) ;
36
+ type ( getByTestId ( 'input' ) , 'What a great day!' ) ;
39
37
40
- expect ( getByTestId ( 'button' ) . innerHTML ) . toBe ( 'Button updated after 400ms' ) ;
41
- } ) ) ;
38
+ tick ( 500 ) ;
39
+ detectChanges ( ) ;
40
+
41
+ expect ( getByTestId ( 'button' ) . innerHTML ) . toBe ( 'Button updated after 400ms' ) ;
42
+ } ) ) ;
43
+ } ) ;
0 commit comments