@@ -110,6 +110,24 @@ test.describe('Mouse Behavior', () => {
110
110
await expect ( firstPopOver ) . toBeHidden ( ) ;
111
111
await expect ( secondPopOver ) . toBeHidden ( ) ;
112
112
} ) ;
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
+ } ) ;
113
131
} ) ;
114
132
115
133
test . describe ( 'Keyboard Behavior' , ( ) => {
@@ -234,4 +252,23 @@ test.describe('Keyboard Behavior', () => {
234
252
235
253
await expect ( popover ) . toBeHidden ( ) ;
236
254
} ) ;
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
+ } ) ;
237
274
} ) ;
0 commit comments