@@ -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 . 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 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 ,
@@ -135,69 +157,70 @@ export async function createVFolderAndVerify(
135157 await page . getByRole ( 'textbox' , { name : 'Folder name' } ) . fill ( folderName ) ;
136158
137159 // select parsed parameters in create modal form
160+ await page . getByTestId ( `${ usageMode } -usage-mode` ) . isVisible ( {
161+ timeout : 1 ,
162+ } ) ;
138163 await page . getByTestId ( `${ usageMode } -usage-mode` ) . click ( ) ;
164+ await page . getByTestId ( `${ usageMode } -type` ) . isVisible ( {
165+ timeout : 1 ,
166+ } ) ;
139167 await page . getByTestId ( `${ type } -type` ) . click ( ) ;
140168 await page . getByTestId ( `${ permission } -permission` ) . click ( ) ;
141169
142170 await page . getByRole ( 'button' , { name : 'Create' , exact : true } ) . click ( ) ;
143- await page . reload ( ) ;
171+ await verifyVFolder ( page , folderName ) ;
172+ }
173+
174+ export async function moveToTrashAndVerify ( page : Page , folderName : string ) {
175+ await navigateTo ( page , 'data' ) ;
144176 await page . locator ( '#react-root' ) . getByTitle ( 'Name' ) . click ( ) ;
145177 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 ) ;
178+ const searchInput = page . locator ( '#rc_select_8' ) ;
179+ await searchInput . click ( ) ;
180+ await searchInput . fill ( folderName ) ;
148181 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 ( ) ;
182+ await page
183+ . getByRole ( 'row' , { name : 'VFolder Identicon e2e-test-' } )
184+ . getByRole ( 'button' )
185+ . nth ( 1 )
186+ . click ( ) ;
187+ await page . getByRole ( 'button' , { name : 'Move' } ) . click ( ) ;
188+ // remove searching folder name
189+ await page . getByRole ( 'img' , { name : 'close' } ) . locator ( 'svg' ) . click ( ) ;
190+ await verifyVFolder ( page , folderName , 'Trash' ) ;
155191}
156192
157- export async function deleteVFolderAndVerify ( page : Page , folderName : string ) {
193+ export async function deleteForeverAndVerifyFromTrash (
194+ page : Page ,
195+ folderName : string ,
196+ ) {
158197 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 ( ) ;
198+ await page . getByRole ( 'tab' , { name : 'Trash' } ) . click ( ) ;
199+ const searchInput = page . locator ( '#rc_select_8' ) ;
200+ await searchInput . fill ( folderName ) ;
201+ await page . getByRole ( 'button' , { name : 'search' } ) . click ( ) ;
202+ // Delete forever
169203 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' )
204+ . getByRole ( 'row' , { name : 'VFolder Identicon e2e-test-' } )
205+ . getByRole ( 'button' )
179206 . 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' } )
189207 . click ( ) ;
190- await page
191- . getByRole ( 'textbox' , { name : 'Type folder name to delete' } )
192- . fill ( folderName ) ;
208+ await page . locator ( '#confirmText' ) . click ( ) ;
209+ await page . locator ( '#confirmText' ) . fill ( folderName ) ;
193210 await page . getByRole ( 'button' , { name : 'Delete forever' } ) . click ( ) ;
211+ // Verify
212+ await page . locator ( '#react-root' ) . getByTitle ( 'Name' ) . click ( ) ;
213+ await page . getByRole ( 'option' , { name : 'Name' } ) . locator ( 'div' ) . click ( ) ;
214+ await searchInput . click ( ) ;
215+ await searchInput . fill ( folderName ) ;
216+ await page . getByRole ( 'button' , { name : 'search' } ) . click ( ) ;
194217 await expect (
195218 page
196- . locator ( 'vaadin-grid-cell-content' )
197- . filter ( { hasText : folderName } )
198- . locator ( ':visible' ) ,
219+ . getByRole ( 'cell' , { name : `VFolder Identicon ${ folderName } ` } )
220+ . filter ( { hasText : folderName } ) ,
199221 ) . toHaveCount ( 0 ) ;
200- await nameInputInTrash . fill ( '' ) ;
222+ // Remove searching folder name
223+ await page . getByRole ( 'img' , { name : 'close' } ) . locator ( 'svg' ) . click ( ) ;
201224}
202225
203226export async function createSession ( page : Page , sessionName : string ) {
0 commit comments