/*! * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ import type { User } from '@nextcloud/cypress' import { createShare, openSharingPanel } from './FilesSharingUtils.ts' import { getRowForFile, navigateToFolder } from '../files/FilesUtils.ts' describe('files_sharing: Note to recipient', { testIsolation: true }, () => { let user: User let sharee: User beforeEach(() => { cy.createRandomUser().then(($user) => { user = $user }) cy.createRandomUser().then(($user) => { sharee = $user }) }) it('displays the note to the sharee', () => { 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, note: 'Hello, this is the note.' }) cy.logout() // Now for the sharee cy.login(sharee) // visit shared files view cy.visit('/apps/files') navigateToFolder('folder') cy.get('.note-to-recipient') .should('be.visible') .and('contain.text', 'Hello, this is the note.') }) /** * Regression test for https://github.com/nextcloud/server/issues/46188 */ it('shows an existing note when editing a share', () => { cy.mkdir(user, '/folder') cy.login(user) cy.visit('/apps/files') // share the folder createShare('folder', sharee.userId, { read: true, download: true, note: 'Hello, this is the note.' }) // reload just to be sure cy.reload() // open the sharing tab openSharingPanel('folder') cy.get('[data-cy-sidebar]').within(() => { // Open the share cy.get('[data-cy-files-sharing-share-actions]').first().click() // Open the custom settings cy.get('[data-cy-files-sharing-share-permissions-bundle="custom"]').click() cy.findByRole('checkbox', { name: /note to recipient/i }) .and('be.checked') cy.findByRole('textbox', { name: /note to recipient/i }) .should('be.visible') .and('have.value', 'Hello, this is the note.') }) }) })