@@ -147,10 +147,10 @@ describe('Tooltip', () => {
147147
148148 describe ( 'Properties Tests' , ( ) => {
149149 beforeEach ( async ( ) => {
150- clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' ] } ) ;
151150 const container = await fixture ( createTooltipWithTarget ( ) ) ;
152151 tooltip = container . querySelector ( IgcTooltipComponent . tagName ) ! ;
153152 anchor = container . querySelector ( 'button' ) ! ;
153+ clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' ] } ) ;
154154 } ) ;
155155
156156 afterEach ( ( ) => {
@@ -415,6 +415,7 @@ describe('Tooltip', () => {
415415 tooltip . sticky = true ;
416416 tooltip . open = true ;
417417 await elementUpdated ( tooltip ) ;
418+ await nextFrame ( ) ;
418419
419420 expect ( tooltip . open ) . to . be . true ;
420421
@@ -426,8 +427,8 @@ describe('Tooltip', () => {
426427 } )
427428 ) ;
428429
429- // Flush microtasks to ensure async event handler completes
430- await clock . advanceTimersByTimeAsync ( 0 ) ;
430+ // Wait for event handler to process
431+ await nextFrame ( ) ;
431432 await clock . advanceTimersByTimeAsync ( endTick ( DEFAULT_HIDE_DELAY ) ) ;
432433 await hideComplete ( ) ;
433434 expect ( tooltip . open ) . to . be . false ;
@@ -436,10 +437,10 @@ describe('Tooltip', () => {
436437
437438 describe ( 'Methods` Tests' , ( ) => {
438439 beforeEach ( async ( ) => {
439- clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' ] } ) ;
440440 const container = await fixture ( createTooltipWithTarget ( ) ) ;
441441 tooltip = container . querySelector ( IgcTooltipComponent . tagName ) ! ;
442442 anchor = container . querySelector ( 'button' ) ! ;
443+ clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' ] } ) ;
443444 } ) ;
444445
445446 afterEach ( ( ) => {
@@ -559,8 +560,8 @@ describe('Tooltip', () => {
559560 tooltip . parentElement ! . querySelectorAll ( 'button' )
560561 ) ;
561562
562- // Flush any pending microtasks before showing
563- await clock . advanceTimersByTimeAsync ( 0 ) ;
563+ // Wait for component to be fully initialized
564+ await nextFrame ( ) ;
564565
565566 const result = await tooltip . show ( transientAnchor ) ;
566567 expect ( result ) . to . be . true ;
@@ -569,8 +570,7 @@ describe('Tooltip', () => {
569570
570571 simulatePointerEnter ( defaultAnchor ) ;
571572 // Trigger on the initial default anchor. Tooltip must be hidden.
572- // Flush microtasks to ensure async event handler completes
573- await clock . advanceTimersByTimeAsync ( 0 ) ;
573+ await nextFrame ( ) ;
574574 expect ( tooltip . open ) . to . be . false ;
575575 await clock . advanceTimersByTimeAsync ( DEFAULT_SHOW_DELAY ) ;
576576 await showComplete ( ) ;
@@ -583,10 +583,10 @@ describe('Tooltip', () => {
583583
584584 describe ( 'Behaviors' , ( ) => {
585585 beforeEach ( async ( ) => {
586- clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' , 'clearTimeout' ] } ) ;
587586 const container = await fixture ( createTooltipWithTarget ( ) ) ;
588587 anchor = container . querySelector ( 'button' ) ! ;
589588 tooltip = container . querySelector ( IgcTooltipComponent . tagName ) ! ;
589+ clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' , 'clearTimeout' ] } ) ;
590590 } ) ;
591591
592592 afterEach ( ( ) => {
@@ -749,11 +749,11 @@ describe('Tooltip', () => {
749749 let spy : MockInstance ;
750750
751751 beforeEach ( async ( ) => {
752- clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' ] } ) ;
753752 const container = await fixture ( createTooltipWithTarget ( ) ) ;
754753 tooltip = container . querySelector ( IgcTooltipComponent . tagName ) ! ;
755754 anchor = container . querySelector ( 'button' ) ! ;
756755 spy = vi . spyOn ( tooltip , 'emitEvent' ) ;
756+ clock = vi . useFakeTimers ( { toFake : [ 'setTimeout' ] } ) ;
757757 } ) ;
758758
759759 afterEach ( ( ) => {
@@ -792,13 +792,16 @@ describe('Tooltip', () => {
792792 } ) ;
793793
794794 it ( 'can cancel -ing events' , async ( ) => {
795+ // Wait for component to be fully initialized
796+ await nextFrame ( ) ;
797+
795798 tooltip . addEventListener ( 'igcOpening' , ( e ) => e . preventDefault ( ) , {
796799 once : true ,
797800 } ) ;
798801
799802 simulatePointerEnter ( anchor ) ;
800- // Flush microtasks to ensure the async event handler completes before advancing timers
801- await clock . advanceTimersByTimeAsync ( 0 ) ;
803+ // Wait for event handler to process
804+ await nextFrame ( ) ;
802805 await clock . advanceTimersByTimeAsync ( DEFAULT_SHOW_DELAY ) ;
803806 await showComplete ( tooltip ) ;
804807
@@ -817,8 +820,8 @@ describe('Tooltip', () => {
817820 } ) ;
818821
819822 simulatePointerLeave ( anchor ) ;
820- // Flush microtasks to ensure the async event handler completes before advancing timers
821- await clock . advanceTimersByTimeAsync ( 0 ) ;
823+ // Wait for event handler to process
824+ await nextFrame ( ) ;
822825 await clock . advanceTimersByTimeAsync ( endTick ( DEFAULT_HIDE_DELAY ) ) ;
823826 await hideComplete ( tooltip ) ;
824827
0 commit comments