10
10
11
11
/* eslint-disable */
12
12
13
- jest . mock ( 'scheduler' , ( ) => require ( 'scheduler/unstable_mock' ) ) ;
13
+ jest . mock ( 'scheduler' , ( ) => jest . requireActual ( 'scheduler/unstable_mock' ) ) ;
14
14
15
15
import * as React from 'react' ;
16
16
import * as Scheduler from 'scheduler' ;
@@ -350,22 +350,30 @@ describe('ReactRelayQueryRenderer', () => {
350
350
) ;
351
351
}
352
352
}
353
- const renderer = ReactTestRenderer . create ( < Example /> , {
354
- unstable_isConcurrent : true ,
353
+ let renderer ;
354
+ // https://github.com/facebook/react/issues/24392
355
+ React . startTransition ( ( ) => {
356
+ renderer = ReactTestRenderer . create ( < Example /> , {
357
+ unstable_isConcurrent : true ,
358
+ unstable_concurrentUpdatesByDefault : true ,
359
+ } ) ;
355
360
} ) ;
356
-
361
+
357
362
// Flush some of the changes, but don't commit
358
363
( Scheduler as any ) . unstable_flushNumberOfYields ( 2 ) ;
364
+
365
+
359
366
expect ( ( Scheduler as any ) . unstable_clearYields ( ) ) . toEqual ( [ 'A' , 'B' ] ) ;
360
367
expect ( renderer . toJSON ( ) ) . toEqual ( null ) ;
361
368
expect ( ) . loadingRendered ( ) ;
362
369
expect ( environment . execute . mock . calls . length ) . toBe ( 1 ) ;
363
370
render . mockClear ( ) ;
364
-
365
371
// Interrupt with higher priority updates
366
372
renderer . unstable_flushSync ( ( ) => {
367
373
renderer . update ( < Example /> ) ;
368
374
} ) ;
375
+
376
+
369
377
expect ( environment . execute . mock . calls . length ) . toBe ( 1 ) ;
370
378
expect ( ) . loadingRendered ( ) ;
371
379
} ) ;
@@ -412,8 +420,13 @@ describe('ReactRelayQueryRenderer', () => {
412
420
) ;
413
421
}
414
422
}
415
- const renderer = ReactTestRenderer . create ( < Example /> , {
416
- unstable_isConcurrent : true ,
423
+ let renderer ;
424
+ // https://github.com/facebook/react/issues/24392
425
+ React . startTransition ( ( ) => {
426
+ renderer = ReactTestRenderer . create ( < Example /> , {
427
+ unstable_isConcurrent : true ,
428
+ unstable_concurrentUpdatesByDefault : true ,
429
+ } ) ;
417
430
} ) ;
418
431
const owner = createOperationDescriptor ( TestQuery , variables ) ;
419
432
@@ -501,8 +514,13 @@ describe('ReactRelayQueryRenderer', () => {
501
514
) ;
502
515
}
503
516
}
504
- const renderer = ReactTestRenderer . create ( < Example /> , {
505
- unstable_isConcurrent : true ,
517
+ let renderer ;
518
+ // https://github.com/facebook/react/issues/24392
519
+ React . startTransition ( ( ) => {
520
+ renderer = ReactTestRenderer . create ( < Example /> , {
521
+ unstable_isConcurrent : true ,
522
+ unstable_concurrentUpdatesByDefault : true ,
523
+ } ) ;
506
524
} ) ;
507
525
const owner = createOperationDescriptor ( TestQuery , variables ) ;
508
526
@@ -1644,7 +1662,9 @@ describe('ReactRelayQueryRenderer', () => {
1644
1662
expect ( environment . retain . mock . calls . length ) . toBe ( 1 ) ;
1645
1663
const dispose = environment . retain . mock . dispose ;
1646
1664
expect ( dispose ) . not . toBeCalled ( ) ;
1647
- renderer . unmount ( ) ;
1665
+ ReactTestRenderer . act ( ( ) => {
1666
+ renderer . unmount ( ) ;
1667
+ } ) ;
1648
1668
expect ( dispose ) . toBeCalled ( ) ;
1649
1669
} ) ;
1650
1670
@@ -1662,7 +1682,9 @@ describe('ReactRelayQueryRenderer', () => {
1662
1682
expect ( environment . retain . mock . calls . length ) . toBe ( 1 ) ;
1663
1683
const dispose = environment . retain . mock . dispose ;
1664
1684
expect ( dispose ) . not . toBeCalled ( ) ;
1665
- renderer . unmount ( ) ;
1685
+ ReactTestRenderer . act ( ( ) => {
1686
+ renderer . unmount ( ) ;
1687
+ } ) ;
1666
1688
expect ( dispose ) . toBeCalled ( ) ;
1667
1689
} ) ;
1668
1690
@@ -1677,7 +1699,9 @@ describe('ReactRelayQueryRenderer', () => {
1677
1699
) ;
1678
1700
const subscription = environment . execute . mock . subscriptions [ 0 ] ;
1679
1701
expect ( subscription . closed ) . toBe ( false ) ;
1680
- renderer . unmount ( ) ;
1702
+ ReactTestRenderer . act ( ( ) => {
1703
+ renderer . unmount ( ) ;
1704
+ } ) ;
1681
1705
expect ( subscription . closed ) . toBe ( true ) ;
1682
1706
} ) ;
1683
1707
} ) ;
0 commit comments