@@ -66,46 +66,29 @@ export class FolderRenamePage extends BasePage {
6666 } )
6767 } ) ;
6868
69- // Ensure folder node is visible (expand if needed)
70- if ( ! ( await node . first ( ) . isVisible ( ) ) ) {
71- this . clickE2ETestFolder ( ) ;
69+ try {
70+ await expect ( node . first ( ) ) . toBeVisible ( ) ;
71+ } catch {
72+ await this . clickE2ETestFolder ( ) ;
73+ await expect ( node . first ( ) ) . toBeVisible ( ) ;
7274 }
7375
74- await expect ( node . first ( ) ) . toBeVisible ( ) ;
7576 return node . first ( ) ;
7677 }
7778
7879 async hoverOverFolder ( folderName : string ) : Promise < void > {
7980 // Wait for the folder list to be loaded
80- await this . page . waitForSelector ( 'zeppelin-node-list' , { state : 'visible' } ) ;
81-
82- const rawNode = await this . getFolderNode ( folderName ) ;
81+ await this . hoverOverFolder ( folderName ) ;
8382
84- const folderNode = await rawNode
85- . locator ( 'a.name' , {
86- has : this . page . locator ( 'i.anticon-folder' ) ,
87- hasText : folderName
88- } )
89- . first ( ) ;
83+ const folderNode = await this . getFolderNode ( folderName ) ;
9084
91- // Ensure folder node is visible (expand if needed)
92- if ( ! ( await folderNode . isVisible ( ) ) ) {
93- this . clickE2ETestFolder ( ) ;
94- await folderNode . waitFor ( { state : 'visible' } ) ;
85+ // Hover over the entire folder node to trigger operation buttons
86+ try {
87+ await folderNode . hover ( ) ;
88+ } catch {
89+ await this . clickE2ETestFolder ( ) ;
90+ await folderNode . hover ( ) ;
9591 }
96-
97- await folderNode . isVisible ( ) ;
98- await folderNode . hover ( ) ;
99-
100- // Wait for hover effects to take place by checking for interactive elements
101- await this . page
102- . waitForSelector ( '.node a[nz-tooltip], .node i[nztype], .node button' , {
103- state : 'visible' ,
104- timeout : 5000
105- } )
106- . catch ( ( ) => {
107- console . log ( 'No interactive elements found after hover, continuing...' ) ;
108- } ) ;
10992 }
11093
11194 async clickDeleteIcon ( folderName : string ) : Promise < void > {
@@ -114,15 +97,14 @@ export class FolderRenamePage extends BasePage {
11497
11598 const folderNode = await this . getFolderNode ( folderName ) ;
11699
117- // Ensure folder node is visible (expand if needed)
118- if ( ! ( await folderNode . isVisible ( ) ) ) {
119- this . clickE2ETestFolder ( ) ;
120- await folderNode . waitFor ( { state : 'visible' } ) ;
100+ // Hover over the entire folder node to trigger operation buttons
101+ try {
102+ await folderNode . hover ( ) ;
103+ } catch {
104+ await this . clickE2ETestFolder ( ) ;
105+ await folderNode . hover ( ) ;
121106 }
122107
123- await folderNode . isVisible ( ) ;
124- await folderNode . hover ( ) ;
125-
126108 const deleteIcon = folderNode . locator ( '.folder .operation a[nz-tooltip][nztooltiptitle="Move folder to Trash"]' ) ;
127109 await deleteIcon . click ( ) ;
128110 }
0 commit comments