diff --git a/apps/files_sharing/src/actions/openInFilesAction.spec.ts b/apps/files_sharing/src/actions/openInFilesAction.spec.ts index 96b96145f319f..6f80078d63e62 100644 --- a/apps/files_sharing/src/actions/openInFilesAction.spec.ts +++ b/apps/files_sharing/src/actions/openInFilesAction.spec.ts @@ -89,6 +89,6 @@ describe('Open in files action execute tests', () => { // Silent action expect(exec).toBe(null) expect(goToRouteMock).toBeCalledTimes(1) - expect(goToRouteMock).toBeCalledWith(null, { fileid: 1, view: 'files' }, { dir: '/Foo', openfile: 'true' }) + expect(goToRouteMock).toBeCalledWith(null, { fileid: '1', view: 'files' }, { dir: '/Foo', openfile: 'true' }) }) }) 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 0000000000000..01083e6dda926 --- /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') + }) +})