@@ -122,6 +122,27 @@ export async function fillOutVaadinGridCellFilter(
122122 await nameInput . fill ( inputValue ) ;
123123}
124124
125+ export async function verifyVFolder (
126+ page : Page ,
127+ folderName : string ,
128+ statusTab : 'Created' | 'Trash' = 'Created' ,
129+ ) {
130+ await navigateTo ( page , 'data' ) ;
131+ await page . getByRole ( 'tab' , { name : statusTab } ) . click ( ) ;
132+ await page . locator ( '#react-root' ) . getByTitle ( 'Name' ) . click ( ) ;
133+ await page . getByRole ( 'option' , { name : 'Name' } ) . locator ( 'div' ) . click ( ) ;
134+ const searchInput = page . locator ( '#rc_select_8' ) ;
135+ await searchInput . click ( ) ;
136+ await searchInput . fill ( folderName ) ;
137+ await expect (
138+ page
139+ . getByRole ( 'cell' , { name : `VFolder Identicon ${ folderName } ` } )
140+ . filter ( { hasText : folderName } ) ,
141+ ) . toBeVisible ( ) ;
142+ // remove searching folder name
143+ await page . getByRole ( 'img' , { name : 'close' } ) . locator ( 'svg' ) . click ( ) ;
144+ }
145+
125146export async function createVFolderAndVerify (
126147 page : Page ,
127148 folderName : string ,
@@ -140,64 +161,52 @@ export async function createVFolderAndVerify(
140161 await page . getByTestId ( `${ permission } -permission` ) . click ( ) ;
141162
142163 await page . getByRole ( 'button' , { name : 'Create' , exact : true } ) . click ( ) ;
143- await page . reload ( ) ;
144- await page . locator ( '#react-root' ) . getByTitle ( 'Name' ) . click ( ) ;
145- await page . getByRole ( 'option' , { name : 'Name' } ) . locator ( 'div' ) . click ( ) ;
146- await page . locator ( '#rc_select_8' ) . click ( ) ;
147- await page . locator ( '#rc_select_8' ) . fill ( folderName ) ;
148- await page . getByRole ( 'button' , { name : 'search' } ) . click ( ) ;
149- await page . getByRole ( 'link' , { name : folderName } ) . click ( ) ;
150- await expect (
151- page
152- . getByRole ( 'cell' , { name : `VFolder Identicon ${ folderName } ` } )
153- . filter ( { hasText : folderName } ) ,
154- ) . toBeVisible ( ) ;
164+ await verifyVFolder ( page , folderName ) ;
155165}
156166
157167export async function deleteVFolderAndVerify ( page : Page , folderName : string ) {
158168 await navigateTo ( page , 'data' ) ;
159- const nameInput = page
160- . locator ( '#general-folder-storage vaadin-grid-cell-content' )
161- . filter ( { hasText : 'Name' } )
162- . locator ( 'vaadin-text-field' )
163- . nth ( 1 )
164- . locator ( 'input' ) ;
165- await nameInput . click ( ) ;
166- await nameInput . fill ( folderName ) ;
167- await page . waitForTimeout ( 1000 ) ;
168- await page . getByRole ( 'button' , { name : 'delete' } ) . first ( ) . click ( ) ;
169+ await page . locator ( '#react-root' ) . getByTitle ( 'Name' ) . click ( ) ;
170+ await page . getByRole ( 'option' , { name : 'Name' } ) . locator ( 'div' ) . click ( ) ;
171+ const searchInput = page . locator ( '#rc_select_8' ) ;
172+ await searchInput . click ( ) ;
173+ await searchInput . fill ( folderName ) ;
169174 await page
170- . locator ( '#delete-without-confirm-button' )
171- . getByLabel ( 'delete' )
172- . click ( ) ;
173- await page . waitForLoadState ( 'networkidle' ) ;
174- await page . getByRole ( 'tab' , { name : 'delete' } ) . click ( ) ;
175- const nameInputInTrash = page
176- . locator ( '#trash-bin-folder-storage vaadin-grid-cell-content' )
177- . filter ( { hasText : 'Name' } )
178- . locator ( 'vaadin-text-field' )
175+ . getByRole ( 'row' , { name : 'VFolder Identicon e2e-test-' } )
176+ . getByRole ( 'button' )
179177 . nth ( 1 )
180- . locator ( 'input' ) ;
181- await nameInputInTrash . fill ( folderName ) ;
182- // after filling the input, the vaadin-grid will be updated asynchronously. So we need to wait for the grid to be updated.
183- await page . waitForTimeout ( 1000 ) ;
184- await page
185- . locator ( 'vaadin-grid-cell-content' )
186- . filter ( { hasText : folderName } )
187- . locator ( '//following-sibling::*[7]' )
188- . getByRole ( 'button' , { name : 'delete_forever' } )
189178 . click ( ) ;
179+ await page . getByRole ( 'button' , { name : 'Move' } ) . click ( ) ;
180+ // await page.waitForLoadState('networkidle');
181+ await verifyVFolder ( page , folderName , 'Trash' ) ;
182+ }
183+
184+ export async function deleteForeverAndVerify ( page : Page , folderName : string ) {
185+ await deleteVFolderAndVerify ( page , folderName ) ;
186+ const searchInput = page . locator ( '#rc_select_8' ) ;
187+ await searchInput . fill ( folderName ) ;
190188 await page
191- . getByRole ( 'textbox' , { name : 'Type folder name to delete' } )
192- . fill ( folderName ) ;
189+ . getByRole ( 'row' , { name : 'VFolder Identicon e2e-test-' } )
190+ . getByRole ( 'button' )
191+ . nth ( 1 )
192+ . click ( ) ;
193+ await page . locator ( '#confirmText' ) . fill ( folderName ) ;
194+
195+ // Delete forever
193196 await page . getByRole ( 'button' , { name : 'Delete forever' } ) . click ( ) ;
197+ // Verify
198+ await navigateTo ( page , 'data' ) ;
199+ await page . getByRole ( 'tab' , { name : 'Trash' } ) . click ( ) ;
200+ await page . locator ( '#react-root' ) . getByTitle ( 'Name' ) . click ( ) ;
201+ await page . getByRole ( 'option' , { name : 'Name' } ) . locator ( 'div' ) . click ( ) ;
202+ await searchInput . fill ( folderName ) ;
194203 await expect (
195204 page
196- . locator ( 'vaadin-grid-cell-content' )
197- . filter ( { hasText : folderName } )
198- . locator ( ':visible' ) ,
205+ . getByRole ( 'cell' , { name : `VFolder Identicon ${ folderName } ` } )
206+ . filter ( { hasText : folderName } ) ,
199207 ) . toHaveCount ( 0 ) ;
200- await nameInputInTrash . fill ( '' ) ;
208+ // Remove searching folder name
209+ await page . getByRole ( 'img' , { name : 'close' } ) . locator ( 'svg' ) . click ( ) ;
201210}
202211
203212export async function createSession ( page : Page , sessionName : string ) {
0 commit comments