@@ -3,8 +3,10 @@ import {animationFrame} from '@shopify/jest-dom-mocks';
33import { mountWithApp } from 'tests/utilities' ;
44
55import type { ActionMenuProps } from '../../ActionMenu' ;
6+ import type { ActionTooltip } from '../../../types' ;
67import { Badge } from '../../Badge' ;
78import { Card } from '../../Card' ;
9+ import { Tooltip } from '../../Tooltip' ;
810import { Page , PageProps } from '../Page' ;
911import { Header } from '../components' ;
1012
@@ -290,6 +292,39 @@ describe('<Page />', () => {
290292 expect ( page ) . not . toContainReactComponent ( Header ) ;
291293 } ) ;
292294 } ) ;
295+
296+ describe ( '<Tooltip />' , ( ) => {
297+ const saveTooltip : ActionTooltip = {
298+ content : 'Save tooltip' ,
299+ dismissOnMouseOut : true ,
300+ } ;
301+
302+ it ( 'is rendered when available for primary action' , ( ) => {
303+ const page = mountWithApp (
304+ < Page
305+ { ...mockProps }
306+ primaryAction = { { content : 'Save' , tooltip : saveTooltip } }
307+ /> ,
308+ ) ;
309+ expect ( page ) . not . toContainReactComponent (
310+ Tooltip ,
311+ expect . objectContaining ( saveTooltip ) ,
312+ ) ;
313+ } ) ;
314+
315+ it ( 'is rendered when available for secondary actions' , ( ) => {
316+ const page = mountWithApp (
317+ < Page
318+ { ...mockProps }
319+ secondaryActions = { [ { content : 'Save' , tooltip : saveTooltip . content } ] }
320+ /> ,
321+ ) ;
322+ expect ( page ) . not . toContainReactComponent (
323+ Tooltip ,
324+ expect . objectContaining ( saveTooltip ) ,
325+ ) ;
326+ } ) ;
327+ } ) ;
293328} ) ;
294329
295330function noop ( ) { }
0 commit comments