@@ -20,22 +20,24 @@ class FixtureComponent implements OnInit {
2020 }
2121}
2222
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 ] } ) ;
2526
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' ) ;
3329 } ) ;
3430
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+ } ) ;
3635
37- tick ( 500 ) ;
38- detectChanges ( ) ;
36+ type ( getByTestId ( 'input' ) , 'What a great day!' ) ;
3937
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