Skip to content

Commit 8845c6e

Browse files
authored
Merge pull request #2806 from nextcloud/fix/fix-cypress-file-deletion
2 parents db33f9b + 54b3478 commit 8845c6e

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

β€Žcypress/e2e/groupfolders.cy.tsβ€Ž

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {
2626
createGroupFolder,
2727
deleteGroupFolder,
2828
deleteFile,
29+
deleteFolder,
2930
enableACLPermissions,
3031
enterFolder,
3132
enterFolderInTrashbin,
@@ -126,7 +127,7 @@ describe('Groupfolders ACLs and trashbin behavior', () => {
126127
cy.visit('/apps/files')
127128
enterFolder(groupFolderName)
128129
enterFolder('subfolder1')
129-
deleteFile('subfolder2')
130+
deleteFolder('subfolder2')
130131

131132
// User1 sees it in trash
132133
cy.logout()
@@ -186,7 +187,7 @@ describe('Groupfolders ACLs and trashbin behavior', () => {
186187
cy.login(managerUser)
187188
cy.visit('/apps/files')
188189
enterFolder(groupFolderName)
189-
deleteFile('subfolder1')
190+
deleteFolder('subfolder1')
190191

191192
// User1 sees it in trash
192193
cy.login(user1)

β€Žcypress/e2e/groupfoldersUtils.tsβ€Ž

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,24 @@ export function enterFolderInTrashbin(name: string) {
110110
cy.wait('@propFindFolder')
111111
}
112112

113+
export function deleteFolder(name: string) {
114+
cy.intercept({ times: 1, method: 'DELETE', url: `**/dav/files/**/${name}` }).as('delete')
115+
cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${name}"] [data-cy-files-list-row-actions]`).click()
116+
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="delete"]`).should('be.visible')
117+
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="delete"]`).scrollIntoView()
118+
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="delete"]`).click()
119+
cy.wait('@delete').its('response.statusCode').should('eq', 204)
120+
}
121+
113122
export function deleteFile(name: string) {
114123
cy.intercept({ times: 1, method: 'DELETE', url: `**/dav/files/**/${name}` }).as('delete')
124+
// For files wait for preview to load and release lock
125+
cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${name}"] .files-list__row-icon img`)
126+
.should('be.visible')
127+
.and(($img) => {
128+
// "naturalWidth" and "naturalHeight" are set when the image loads
129+
expect($img[0].naturalWidth, 'image has natural width').to.be.greaterThan(0)
130+
})
115131
cy.get(`[data-cy-files-list] [data-cy-files-list-row-name="${name}"] [data-cy-files-list-row-actions]`).click()
116132
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="delete"]`).should('be.visible')
117133
cy.get(`[data-cy-files-list] [data-cy-files-list-row-action="delete"]`).scrollIntoView()

0 commit comments

Comments
Β (0)