@@ -122,6 +122,28 @@ 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 . getByTestId ( 'vfolder-filter' ) . locator ( 'div' ) . nth ( 2 ) . 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 page . getByRole ( 'button' , { name : 'search' } ) . click ( ) ;
138+ await expect (
139+ page
140+ . getByRole ( 'cell' , { name : `VFolder Identicon ${ folderName } ` } )
141+ . filter ( { hasText : folderName } ) ,
142+ ) . toBeVisible ( ) ;
143+ // remove searching folder name
144+ await page . getByRole ( 'img' , { name : 'close' } ) . locator ( 'svg' ) . click ( ) ;
145+ }
146+
125147export async function createVFolderAndVerify (
126148 page : Page ,
127149 folderName : string ,
@@ -140,64 +162,59 @@ export async function createVFolderAndVerify(
140162 await page . getByTestId ( `${ permission } -permission` ) . click ( ) ;
141163
142164 await page . getByRole ( 'button' , { name : 'Create' , exact : true } ) . click ( ) ;
143- await page . reload ( ) ;
165+ await verifyVFolder ( page , folderName ) ;
166+ }
167+
168+ export async function moveToTrashAndVerify ( page : Page , folderName : string ) {
169+ await navigateTo ( page , 'data' ) ;
144170 await page . getByTestId ( 'vfolder-filter' ) . locator ( 'div' ) . nth ( 2 ) . click ( ) ;
145171 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 ) ;
172+ const searchInput = page . locator ( '#rc_select_8' ) ;
173+ await searchInput . click ( ) ;
174+ await searchInput . fill ( folderName ) ;
148175 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 ( ) ;
176+ await page
177+ . getByRole ( 'row' , { name : 'VFolder Identicon e2e-test-' } )
178+ . getByRole ( 'button' )
179+ . nth ( 1 )
180+ . click ( ) ;
181+ await page . getByRole ( 'button' , { name : 'Move' } ) . click ( ) ;
182+ // remove searching folder name
183+ await page . getByRole ( 'img' , { name : 'close' } ) . locator ( 'svg' ) . click ( ) ;
184+ await verifyVFolder ( page , folderName , 'Trash' ) ;
155185}
156186
157- export async function deleteVFolderAndVerify ( page : Page , folderName : string ) {
187+ export async function deleteForeverAndVerifyFromTrash (
188+ page : Page ,
189+ folderName : string ,
190+ ) {
158191 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 ( ) ;
192+ await page . getByRole ( 'tab' , { name : 'Trash' } ) . click ( ) ;
193+ const searchInput = page . locator ( '#rc_select_8' ) ;
194+ await searchInput . fill ( folderName ) ;
195+ await page . getByRole ( 'button' , { name : 'search' } ) . click ( ) ;
196+ // Delete forever
169197 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' )
198+ . getByRole ( 'row' , { name : 'VFolder Identicon e2e-test-' } )
199+ . getByRole ( 'button' )
179200 . 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' } )
189201 . click ( ) ;
190- await page
191- . getByRole ( 'textbox' , { name : 'Type folder name to delete' } )
192- . fill ( folderName ) ;
202+ await page . locator ( '#confirmText' ) . click ( ) ;
203+ await page . locator ( '#confirmText' ) . fill ( folderName ) ;
193204 await page . getByRole ( 'button' , { name : 'Delete forever' } ) . click ( ) ;
205+ // Verify
206+ await page . getByTestId ( 'vfolder-filter' ) . locator ( 'div' ) . nth ( 2 ) . click ( ) ;
207+ await page . getByRole ( 'option' , { name : 'Name' } ) . locator ( 'div' ) . click ( ) ;
208+ await searchInput . click ( ) ;
209+ await searchInput . fill ( folderName ) ;
210+ await page . getByRole ( 'button' , { name : 'search' } ) . click ( ) ;
194211 await expect (
195212 page
196- . locator ( 'vaadin-grid-cell-content' )
197- . filter ( { hasText : folderName } )
198- . locator ( ':visible' ) ,
213+ . getByRole ( 'cell' , { name : `VFolder Identicon ${ folderName } ` } )
214+ . filter ( { hasText : folderName } ) ,
199215 ) . toHaveCount ( 0 ) ;
200- await nameInputInTrash . fill ( '' ) ;
216+ // Remove searching folder name
217+ await page . locator ( '.ant-tag > .anticon > svg > path' ) . first ( ) . click ( ) ;
201218}
202219
203220export async function createSession ( page : Page , sessionName : string ) {
0 commit comments