Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
test: Add regression test for opening shared folders
Signed-off-by: Ferdinand Thiessen <[email protected]>
  • Loading branch information
susnux authored and skjnldsv committed Aug 2, 2024
commit 62cf0a37884190c6072728ab92211aa6cdd9d0f4
2 changes: 1 addition & 1 deletion apps/files_sharing/src/actions/openInFilesAction.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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' })
})
})
59 changes: 59 additions & 0 deletions cypress/e2e/files_sharing/files-shares-view.cy.ts
Original file line number Diff line number Diff line change
@@ -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')
})
})