@@ -70,7 +70,7 @@ describe('CurrencyToggle Component', () => {
7070 it ( 'renders help icon' , ( ) => {
7171 const onToggle = jest . fn ( )
7272
73- render (
73+ const { container } = render (
7474 < TestWrapper >
7575 < CurrencyToggle
7676 nativeCurrencyDisplay = { < span > XRP</ span > }
@@ -80,7 +80,9 @@ describe('CurrencyToggle Component', () => {
8080 </ TestWrapper > ,
8181 )
8282
83- expect ( screen . getByText ( '?' ) ) . toBeInTheDocument ( )
83+ expect (
84+ container . querySelector ( '.currency-toggle-wrapper > .hover' ) ,
85+ ) . toBeInTheDocument ( )
8486 } )
8587 } )
8688
@@ -304,7 +306,7 @@ describe('CurrencyToggle Component', () => {
304306 it ( 'shows unavailable tooltip on hover when USD is disabled' , ( ) => {
305307 const onToggle = jest . fn ( )
306308
307- render (
309+ const { container } = render (
308310 < TestWrapper >
309311 < CurrencyToggle
310312 nativeCurrencyDisplay = { < span > XRP</ span > }
@@ -315,22 +317,26 @@ describe('CurrencyToggle Component', () => {
315317 </ TestWrapper > ,
316318 )
317319
318- const usdButton = screen . getByText ( 'USD' )
319- // Mouse events are on the wrapper span, not the disabled button
320- const wrapper = usdButton . parentElement !
321- fireEvent . mouseEnter ( wrapper )
320+ const hoverIcon = container . querySelector (
321+ '.toggle-option- wrapper .hover' ,
322+ ) !
323+ fireEvent . mouseOver ( hoverIcon )
322324
323325 expect ( mockShowTooltip ) . toHaveBeenCalledWith (
324326 'text' ,
325327 expect . any ( Object ) ,
326328 'USD conversion not available for this token' ,
329+ expect . objectContaining ( {
330+ x : expect . any ( Number ) ,
331+ y : expect . any ( Number ) ,
332+ } ) ,
327333 )
328334 } )
329335
330336 it ( 'hides tooltip on mouse leave' , ( ) => {
331337 const onToggle = jest . fn ( )
332338
333- render (
339+ const { container } = render (
334340 < TestWrapper >
335341 < CurrencyToggle
336342 nativeCurrencyDisplay = { < span > XRP</ span > }
@@ -341,11 +347,11 @@ describe('CurrencyToggle Component', () => {
341347 </ TestWrapper > ,
342348 )
343349
344- const usdButton = screen . getByText ( 'USD' )
345- // Mouse events are on the wrapper span, not the disabled button
346- const wrapper = usdButton . parentElement !
347- fireEvent . mouseEnter ( wrapper )
348- fireEvent . mouseLeave ( wrapper )
350+ const hoverIcon = container . querySelector (
351+ '.toggle-option- wrapper .hover' ,
352+ ) !
353+ fireEvent . mouseOver ( hoverIcon )
354+ fireEvent . mouseLeave ( hoverIcon )
349355
350356 expect ( mockHideTooltip ) . toHaveBeenCalled ( )
351357 } )
@@ -433,7 +439,7 @@ describe('CurrencyToggle Component', () => {
433439 it ( 'shows loading tooltip on hover when loading' , ( ) => {
434440 const onToggle = jest . fn ( )
435441
436- render (
442+ const { container } = render (
437443 < TestWrapper >
438444 < CurrencyToggle
439445 nativeCurrencyDisplay = { < span > XRP</ span > }
@@ -444,15 +450,19 @@ describe('CurrencyToggle Component', () => {
444450 </ TestWrapper > ,
445451 )
446452
447- const loadingButton = screen . getByText ( '...' )
448- // Mouse events are on the wrapper span, not the disabled button
449- const wrapper = loadingButton . parentElement !
450- fireEvent . mouseEnter ( wrapper )
453+ const hoverIcon = container . querySelector (
454+ '.toggle-option- wrapper .hover' ,
455+ ) !
456+ fireEvent . mouseOver ( hoverIcon )
451457
452458 expect ( mockShowTooltip ) . toHaveBeenCalledWith (
453459 'text' ,
454460 expect . any ( Object ) ,
455461 'Loading USD conversion rate...' ,
462+ expect . objectContaining ( {
463+ x : expect . any ( Number ) ,
464+ y : expect . any ( Number ) ,
465+ } ) ,
456466 )
457467 } )
458468 } )
@@ -467,7 +477,7 @@ describe('CurrencyToggle Component', () => {
467477 it ( 'shows help tooltip on hover' , ( ) => {
468478 const onToggle = jest . fn ( )
469479
470- render (
480+ const { container } = render (
471481 < TestWrapper >
472482 < CurrencyToggle
473483 nativeCurrencyDisplay = { < span > EUR</ span > }
@@ -477,21 +487,26 @@ describe('CurrencyToggle Component', () => {
477487 </ TestWrapper > ,
478488 )
479489
480- const helpIcon = screen . getByText ( '?' )
481- fireEvent . mouseEnter ( helpIcon )
490+ const helpIcon = container . querySelector (
491+ '.currency-toggle-wrapper > .hover' ,
492+ ) !
493+ fireEvent . mouseOver ( helpIcon )
482494
483- // The tooltip text is a static i18n key
484495 expect ( mockShowTooltip ) . toHaveBeenCalledWith (
485496 'text' ,
486497 expect . any ( Object ) ,
487498 'Toggle to view values in native-currency or USD' ,
499+ expect . objectContaining ( {
500+ x : expect . any ( Number ) ,
501+ y : expect . any ( Number ) ,
502+ } ) ,
488503 )
489504 } )
490505
491506 it ( 'hides help tooltip on mouse leave' , ( ) => {
492507 const onToggle = jest . fn ( )
493508
494- render (
509+ const { container } = render (
495510 < TestWrapper >
496511 < CurrencyToggle
497512 nativeCurrencyDisplay = { < span > XRP</ span > }
@@ -501,8 +516,10 @@ describe('CurrencyToggle Component', () => {
501516 </ TestWrapper > ,
502517 )
503518
504- const helpIcon = screen . getByText ( '?' )
505- fireEvent . mouseEnter ( helpIcon )
519+ const helpIcon = container . querySelector (
520+ '.currency-toggle-wrapper > .hover' ,
521+ ) !
522+ fireEvent . mouseOver ( helpIcon )
506523 fireEvent . mouseLeave ( helpIcon )
507524
508525 expect ( mockHideTooltip ) . toHaveBeenCalled ( )
0 commit comments