aboutsummaryrefslogtreecommitdiffstats
path: root/cypress
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-07-25 13:30:43 +0200
committerFerdinand Thiessen <opensource@fthiessen.de>2024-07-25 15:06:49 +0200
commit4979ed074f6c80ca4286c61ceb0ce6d052c5b356 (patch)
treefceb0e12849088049dc3be0398963e7c7cb7f18b /cypress
parent442a233d3957aaf63f387a65d5e49136dfc7c3fb (diff)
downloadnextcloud-server-4979ed074f6c80ca4286c61ceb0ce6d052c5b356.tar.gz
nextcloud-server-4979ed074f6c80ca4286c61ceb0ce6d052c5b356.zip
test: Add regression test for opening shared folders
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Diffstat (limited to 'cypress')
-rw-r--r--cypress/e2e/files_sharing/files-shares-view.cy.ts59
1 files changed, 59 insertions, 0 deletions
diff --git a/cypress/e2e/files_sharing/files-shares-view.cy.ts b/cypress/e2e/files_sharing/files-shares-view.cy.ts
new file mode 100644
index 00000000000..01083e6dda9
--- /dev/null
+++ b/cypress/e2e/files_sharing/files-shares-view.cy.ts
@@ -0,0 +1,59 @@
+/*!
+ * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+import type { User } from '@nextcloud/cypress'
+import { createShare } from './FilesSharingUtils.ts'
+import { getRowForFile } from '../files/FilesUtils.ts'
+
+describe('files_sharing: Files view', { testIsolation: true }, () => {
+ let user: User
+ let sharee: User
+
+ beforeEach(() => {
+ cy.createRandomUser().then(($user) => {
+ user = $user
+ })
+ cy.createRandomUser().then(($user) => {
+ sharee = $user
+ })
+ })
+
+ /**
+ * Regression test of https://github.com/nextcloud/server/issues/46108
+ */
+ it('opens a shared folder when clicking on it', () => {
+ cy.mkdir(user, '/folder')
+ cy.uploadContent(user, new Blob([]), 'text/plain', '/folder/file')
+ cy.login(user)
+ cy.visit('/apps/files')
+
+ // share the folder
+ createShare('folder', sharee.userId, { read: true, download: true })
+ // visit the own shares
+ cy.visit('/apps/files/sharingout')
+ // see the shared folder
+ getRowForFile('folder').should('be.visible')
+ // click on the folder should open it in files
+ getRowForFile('folder').findByRole('button', { name: 'folder' }).click()
+ // See the URL has changed
+ cy.url().should('match', /apps\/files\/files\/.+dir=\/folder/)
+ // Content of the shared folder
+ getRowForFile('file').should('be.visible')
+
+ cy.logout()
+ // Now for the sharee
+ cy.login(sharee)
+
+ // visit shared files view
+ cy.visit('/apps/files/sharingin')
+ // see the shared folder
+ getRowForFile('folder').should('be.visible')
+ // click on the folder should open it in files
+ getRowForFile('folder').findByRole('button', { name: 'folder' }).click()
+ // See the URL has changed
+ cy.url().should('match', /apps\/files\/files\/.+dir=\/folder/)
+ // Content of the shared folder
+ getRowForFile('file').should('be.visible')
+ })
+})