@@ -3,6 +3,64 @@ import ComboBoxItem from "../../src/ComboBoxItem.js";
3
3
import ComboBoxItemGroup from "../../src/ComboBoxItemGroup.js" ;
4
4
import Link from "../../src/Link.js" ;
5
5
import Input from "../../src/Input.js" ;
6
+ import Button from "../../src/Button.js" ;
7
+
8
+ describe ( "General Interaction" , ( ) => {
9
+ it ( "Scrolls the selected item into view after opening the popover" , ( ) => {
10
+ cy . mount (
11
+ < >
12
+ < ComboBox >
13
+ < ComboBoxItem text = "Bulgaria" > </ ComboBoxItem >
14
+ < ComboBoxItem text = "Germany" > </ ComboBoxItem >
15
+ < ComboBoxItem text = "Austria" > </ ComboBoxItem >
16
+ < ComboBoxItem text = "Australia" > </ ComboBoxItem >
17
+ < ComboBoxItem text = "Mexico" > </ ComboBoxItem >
18
+ < ComboBoxItem text = "Brazil" > </ ComboBoxItem >
19
+ </ ComboBox >
20
+ < Button > Dummy Button</ Button >
21
+ </ >
22
+ ) ;
23
+ cy . viewport ( 500 , 200 ) ;
24
+
25
+ cy . get ( "[ui5-combobox]" )
26
+ . shadow ( )
27
+ . find ( "[ui5-icon]" )
28
+ . as ( "dropdownIcon" ) ;
29
+
30
+ cy . get ( "@dropdownIcon" )
31
+ . realClick ( ) ;
32
+
33
+ cy . get ( "[ui5-combobox]" )
34
+ . shadow ( )
35
+ . find ( "[ui5-responsive-popover]" )
36
+ . shadow ( )
37
+ . find ( ".ui5-popup-content" )
38
+ . as ( "scrollContainer" ) ;
39
+
40
+ cy . get ( "@scrollContainer" )
41
+ . scrollTo ( "bottom" ) ;
42
+
43
+ cy . get ( "[ui5-cb-item" )
44
+ . eq ( 4 )
45
+ . realClick ( ) ;
46
+
47
+ cy . get ( "@dropdownIcon" )
48
+ . realClick ( ) ;
49
+
50
+ cy . get ( "@scrollContainer" )
51
+ . scrollTo ( "top" ) ;
52
+
53
+ cy . get ( "[ui5-button]" )
54
+ . realClick ( ) ;
55
+
56
+ cy . get ( "@dropdownIcon" )
57
+ . realClick ( ) ;
58
+
59
+ cy . get ( "[ui5-cb-item]" )
60
+ . eq ( 4 )
61
+ . should ( "be.visible" ) ;
62
+ } )
63
+ } )
6
64
7
65
describe ( "Security" , ( ) => {
8
66
it ( "tests setting malicious text to items" , ( ) => {
0 commit comments