@@ -110,6 +110,24 @@ test.describe('Mouse Behavior', () => {
110110 await expect ( firstPopOver ) . toBeHidden ( ) ;
111111 await expect ( secondPopOver ) . toBeHidden ( ) ;
112112 } ) ;
113+
114+ test ( `GIVEN a combobox with placement set to top
115+ WHEN opening the combobox
116+ THEN the popover should appear above the trigger` , async ( { page } ) => {
117+ const { driver : d } = await setup ( page , 'placement' ) ;
118+
119+ const popover = d . getPopover ( ) ;
120+ const trigger = d . getTrigger ( ) ;
121+
122+ await trigger . click ( ) ;
123+
124+ await expect ( popover ) . toBeVisible ( ) ;
125+
126+ const popoverBoundingBox = await popover . boundingBox ( ) ;
127+ const triggerBoundingBox = await trigger . boundingBox ( ) ;
128+
129+ expect ( popoverBoundingBox ?. y ) . toBeLessThan ( triggerBoundingBox ?. y ?? 0 ) ;
130+ } ) ;
113131} ) ;
114132
115133test . describe ( 'Keyboard Behavior' , ( ) => {
@@ -234,4 +252,23 @@ test.describe('Keyboard Behavior', () => {
234252
235253 await expect ( popover ) . toBeHidden ( ) ;
236254 } ) ;
255+
256+ test ( `GIVEN a combobox with placement set to top
257+ WHEN opening the combobox using the keyboard
258+ THEN the popover should appear above the trigger` , async ( { page } ) => {
259+ const { driver : d } = await setup ( page , 'placement' ) ;
260+
261+ const popover = d . getPopover ( ) ;
262+ const trigger = d . getTrigger ( ) ;
263+
264+ await trigger . focus ( ) ;
265+ await trigger . press ( 'Enter' ) ;
266+
267+ await expect ( popover ) . toBeVisible ( ) ;
268+
269+ const popoverBoundingBox = await popover . boundingBox ( ) ;
270+ const triggerBoundingBox = await trigger . boundingBox ( ) ;
271+
272+ expect ( popoverBoundingBox ?. y ) . toBeLessThan ( triggerBoundingBox ?. y ?? 0 ) ;
273+ } ) ;
237274} ) ;
0 commit comments