@@ -384,6 +384,16 @@ describe('Image preloader service', () => {
384384
385385 let exploration : Exploration ;
386386
387+ // Helper to flush platform feature-flags evaluation request if present.
388+ const flushFeatureFlagsIfQueued = ( ) => {
389+ const featureFlagsReq = httpTestingController . match ( req =>
390+ req . url . includes ( '/feature_flags_evaluation_handler' )
391+ ) ;
392+ if ( featureFlagsReq && featureFlagsReq . length ) {
393+ featureFlagsReq . forEach ( req => req . flush ( { } ) ) ;
394+ }
395+ } ;
396+
387397 beforeEach ( ( ) => {
388398 imagePreloaderService = TestBed . get ( ImagePreloaderService ) ;
389399 pageContextService = TestBed . get ( PageContextService ) ;
@@ -413,6 +423,8 @@ describe('Image preloader service', () => {
413423 imagePreloaderService . init ( exploration ) ;
414424 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
415425
426+ flushFeatureFlagsIfQueued ( ) ;
427+
416428 expect ( imagePreloaderService . inExplorationPlayer ( ) ) . toBeTruthy ( ) ;
417429
418430 httpTestingController . expectOne ( requestUrl1 ) ;
@@ -428,13 +440,7 @@ describe('Image preloader service', () => {
428440 imagePreloaderService . init ( exploration ) ;
429441 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
430442
431- // Flush feature flags request to avoid open request error in CI.
432- const featureFlagsReq = httpTestingController . match ( req =>
433- req . url . includes ( '/feature_flags_evaluation_handler' )
434- ) ;
435- if ( featureFlagsReq && featureFlagsReq . length ) {
436- featureFlagsReq . forEach ( req => req . flush ( { } ) ) ;
437- }
443+ flushFeatureFlagsIfQueued ( ) ;
438444
439445 // Max files to download simultaneously is 3.
440446 httpTestingController . expectOne ( requestUrl1 ) . flush ( imageBlob ) ;
@@ -483,6 +489,8 @@ describe('Image preloader service', () => {
483489 imagePreloaderService . init ( exploration ) ;
484490 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
485491
492+ flushFeatureFlagsIfQueued ( ) ;
493+
486494 httpTestingController . expectOne ( requestUrl1 ) ;
487495 httpTestingController . expectOne ( requestUrl2 ) ;
488496 httpTestingController . expectOne ( requestUrl3 ) ;
@@ -506,6 +514,8 @@ describe('Image preloader service', () => {
506514 imagePreloaderService . init ( exploration ) ;
507515 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
508516
517+ flushFeatureFlagsIfQueued ( ) ;
518+
509519 httpTestingController . expectOne ( requestUrl1 ) ;
510520 httpTestingController . expectOne ( requestUrl2 ) ;
511521 httpTestingController . expectOne ( requestUrl3 ) ;
@@ -535,6 +545,8 @@ describe('Image preloader service', () => {
535545 imagePreloaderService . init ( exploration ) ;
536546 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
537547
548+ flushFeatureFlagsIfQueued ( ) ;
549+
538550 httpTestingController . expectOne ( requestUrl1 ) . flush ( imageBlob ) ;
539551 httpTestingController . expectOne ( requestUrl2 ) . flush ( imageBlob ) ;
540552 httpTestingController . expectOne ( requestUrl3 ) . flush ( imageBlob ) ;
@@ -569,13 +581,7 @@ describe('Image preloader service', () => {
569581 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
570582 flushMicrotasks ( ) ;
571583
572- // Flush feature flags request to avoid open request error in CI.
573- const featureFlagsReq = httpTestingController . match ( req =>
574- req . url . includes ( '/feature_flags_evaluation_handler' )
575- ) ;
576- if ( featureFlagsReq && featureFlagsReq . length ) {
577- featureFlagsReq . forEach ( req => req . flush ( { } ) ) ;
578- }
584+ flushFeatureFlagsIfQueued ( ) ;
579585
580586 expect (
581587 imagePreloaderService . getFilenamesOfImageCurrentlyDownloading ( )
@@ -607,13 +613,7 @@ describe('Image preloader service', () => {
607613 imagePreloaderService . init ( exploration ) ;
608614 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
609615
610- // Flush feature flags request to avoid open request error in CI.
611- const featureFlagsReq = httpTestingController . match ( req =>
612- req . url . includes ( '/feature_flags_evaluation_handler' )
613- ) ;
614- if ( featureFlagsReq && featureFlagsReq . length ) {
615- featureFlagsReq . forEach ( req => req . flush ( { } ) ) ;
616- }
616+ flushFeatureFlagsIfQueued ( ) ;
617617
618618 httpTestingController . expectOne ( requestUrl1 ) . flush ( imageBlob ) ;
619619 httpTestingController . expectOne ( requestUrl2 ) . flush ( imageBlob ) ;
@@ -651,6 +651,8 @@ describe('Image preloader service', () => {
651651 imagePreloaderService . init ( exploration ) ;
652652 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
653653
654+ flushFeatureFlagsIfQueued ( ) ;
655+
654656 httpTestingController . expectOne ( requestUrl1 ) ;
655657 httpTestingController . expectOne ( requestUrl2 ) ;
656658 httpTestingController . expectOne ( requestUrl3 ) ;
@@ -692,6 +694,8 @@ describe('Image preloader service', () => {
692694 imagePreloaderService . init ( exploration ) ;
693695 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
694696
697+ flushFeatureFlagsIfQueued ( ) ;
698+
695699 httpTestingController . expectOne ( requestUrl1 ) . flush ( imageBlob ) ;
696700 httpTestingController . expectOne ( requestUrl2 ) ;
697701 httpTestingController . expectOne ( requestUrl3 ) ;
@@ -730,6 +734,8 @@ describe('Image preloader service', () => {
730734 imagePreloaderService . init ( exploration ) ;
731735 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
732736
737+ flushFeatureFlagsIfQueued ( ) ;
738+
733739 httpTestingController
734740 . expectOne ( requestUrl1 )
735741 . flush ( new Blob ( [ 'svg image' ] , { type : 'image/svg+xml' } ) ) ;
@@ -775,6 +781,8 @@ describe('Image preloader service', () => {
775781 imagePreloaderService . init ( exploration ) ;
776782 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
777783
784+ flushFeatureFlagsIfQueued ( ) ;
785+
778786 httpTestingController
779787 . expectOne ( requestUrl1 )
780788 . flush ( imageBlob , { status : 404 , statusText : 'Status Text' } ) ;
@@ -819,13 +827,7 @@ describe('Image preloader service', () => {
819827 imagePreloaderService . init ( exploration ) ;
820828 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
821829
822- // Flush feature flags request to avoid open request error in CI.
823- const featureFlagsReq = httpTestingController . match ( req =>
824- req . url . includes ( '/feature_flags_evaluation_handler' )
825- ) ;
826- if ( featureFlagsReq && featureFlagsReq . length ) {
827- featureFlagsReq . forEach ( req => req . flush ( { } ) ) ;
828- }
830+ flushFeatureFlagsIfQueued ( ) ;
829831
830832 httpTestingController
831833 . expectOne ( requestUrl1 )
@@ -869,6 +871,8 @@ describe('Image preloader service', () => {
869871 imagePreloaderService . init ( exploration ) ;
870872 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
871873
874+ flushFeatureFlagsIfQueued ( ) ;
875+
872876 var onSuccess = jasmine . createSpy ( 'success' ) ;
873877 var onFailure = jasmine . createSpy ( 'fail' ) ;
874878 // This throws "Argument of type 'mockReaderObject' is not assignable
@@ -909,13 +913,7 @@ describe('Image preloader service', () => {
909913 imagePreloaderService . init ( exploration ) ;
910914 imagePreloaderService . kickOffImagePreloader ( initStateName ) ;
911915
912- // Flush feature flags request to avoid open request error in CI.
913- const featureFlagsReq = httpTestingController . match ( req =>
914- req . url . includes ( '/feature_flags_evaluation_handler' )
915- ) ;
916- if ( featureFlagsReq && featureFlagsReq . length ) {
917- featureFlagsReq . forEach ( req => req . flush ( { } ) ) ;
918- }
916+ flushFeatureFlagsIfQueued ( ) ;
919917
920918 var onSuccess = jasmine . createSpy ( 'success' ) ;
921919 var onFailure = jasmine . createSpy ( 'fail' ) ;
0 commit comments