@@ -92,6 +92,7 @@ const getItem = (index: number, options?: { active?: boolean; dimmed?: boolean }
9292const mouseOver = ( element : HTMLElement ) => element . dispatchEvent ( new MouseEvent ( "mouseover" , { bubbles : true } ) ) ;
9393const mouseOut = ( element : HTMLElement ) => element . dispatchEvent ( new MouseEvent ( "mouseout" , { bubbles : true } ) ) ;
9494const mouseLeavePause = ( ) => new Promise ( ( resolve ) => setTimeout ( resolve , 300 ) ) ;
95+ const tooltipShowPause = ( ) => new Promise ( ( resolve ) => setTimeout ( resolve , 350 ) ) ;
9596
9697describe ( "CoreChart: legend" , ( ) => {
9798 test ( "renders no legend when legend.enabled=false" , ( ) => {
@@ -378,12 +379,14 @@ describe("CoreChart: legend", () => {
378379 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . toBe ( null ) ;
379380
380381 act ( ( ) => mouseOver ( getItem ( 0 ) . getElement ( ) ) ) ;
382+ await tooltipShowPause ( ) ;
381383
382384 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
383385 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "L1" ) ;
384386
385387 act ( ( ) => mouseOut ( getItem ( 0 ) . getElement ( ) ) ) ;
386388 act ( ( ) => mouseOver ( getItem ( 2 ) . getElement ( ) ) ) ;
389+ await tooltipShowPause ( ) ;
387390
388391 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
389392 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "Line 3" ) ;
@@ -394,7 +397,7 @@ describe("CoreChart: legend", () => {
394397 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . toBe ( null ) ;
395398 } ) ;
396399
397- test ( "renders legend tooltip on focus in cartesian chart" , ( ) => {
400+ test ( "renders legend tooltip on focus in cartesian chart" , async ( ) => {
398401 const { wrapper } = renderChart ( {
399402 highcharts,
400403 options : {
@@ -412,11 +415,13 @@ describe("CoreChart: legend", () => {
412415 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . toBe ( null ) ;
413416
414417 act ( ( ) => getItem ( 0 ) . focus ( ) ) ;
418+ await tooltipShowPause ( ) ;
415419
416420 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
417421 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "L1" ) ;
418422
419423 getItem ( 0 ) . keydown ( { keyCode : KeyCode . right } ) ;
424+ await tooltipShowPause ( ) ;
420425
421426 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
422427 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "L2" ) ;
@@ -436,13 +441,15 @@ describe("CoreChart: legend", () => {
436441 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . toBe ( null ) ;
437442
438443 act ( ( ) => mouseOver ( getItem ( 0 ) . getElement ( ) ) ) ;
444+ await tooltipShowPause ( ) ;
439445
440446 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
441447 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
442448 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "P1" ) ;
443449
444450 act ( ( ) => mouseOut ( getItem ( 0 ) . getElement ( ) ) ) ;
445451 act ( ( ) => mouseOver ( getItem ( 2 ) . getElement ( ) ) ) ;
452+ await tooltipShowPause ( ) ;
446453
447454 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
448455 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "Pie 3" ) ;
@@ -453,7 +460,7 @@ describe("CoreChart: legend", () => {
453460 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . toBe ( null ) ;
454461 } ) ;
455462
456- test ( "renders legend tooltip on focus in pie chart" , ( ) => {
463+ test ( "renders legend tooltip on focus in pie chart" , async ( ) => {
457464 const { wrapper } = renderChart ( {
458465 highcharts,
459466 options : { series : series . filter ( ( s ) => s . type === "pie" ) } ,
@@ -467,11 +474,13 @@ describe("CoreChart: legend", () => {
467474 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . toBe ( null ) ;
468475
469476 act ( ( ) => getItem ( 0 ) . focus ( ) ) ;
477+ await tooltipShowPause ( ) ;
470478
471479 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
472480 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "P1" ) ;
473481
474482 getItem ( 0 ) . keydown ( { keyCode : KeyCode . right } ) ;
483+ await tooltipShowPause ( ) ;
475484
476485 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ) . not . toBe ( null ) ;
477486 expect ( wrapper . findLegend ( ) ! . findItemTooltip ( ) ! . findHeader ( ) ! . getElement ( ) . textContent ) . toBe ( "P2" ) ;
0 commit comments