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
feat(test): add test coverage
Signed-off-by: Elizabeth Danzberger <[email protected]>
  • Loading branch information
elzody committed Nov 26, 2025
commit 3b2487997ad78e1f66b52399a01f632dd6fac3a9
53 changes: 18 additions & 35 deletions cypress/e2e/new.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
* SPDX-FileCopyrightText: 2023 Julius Härtl <[email protected]>
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
// FIXME: Re-renable once 28 has file creation again working
describe.skip('Create new office files', function() {

describe('New file menu', function() {

let randUser
before(function() {
Expand All @@ -18,51 +18,34 @@ describe.skip('Create new office files', function() {
})

it('Shows create file entries', function() {
cy.get('.files-controls .button.new')
cy.get('form[data-cy-upload-picker=""]')
.should('be.visible')
.click()

cy.get('.newFileMenu', { timeout: 10000 })
.should('be.visible')
.contains('.menuitem', 'New document')
cy.get('button[role="menuitem"]')
.contains('New document')
.should('be.visible')
.find('.icon')
.should('have.css', 'background-image')

cy.get('.files-controls .button.new')
cy.get('form[data-cy-upload-picker=""]')
.click()

cy.get('.newFileMenu', { timeout: 10000 })
cy.get('li[data-cy-upload-picker-menu-entry="upload-file"]')
.should('not.be.visible')
})

const newFileTypeLabels = [
'document', 'spreadsheet', 'presentation', 'diagram',
]
newFileTypeLabels.forEach((filetype) => {
it('Create empty ' + filetype + ' file', function() {
cy.get('.files-controls .button.new')
.should('be.visible')
.click()

cy.get('.newFileMenu', { timeout: 10000 })
.should('be.visible')
.contains('.menuitem', 'New ' + filetype)
.as('menuitem')
.should('be.visible')
.click()

cy.get('@menuitem').find('.filenameform input[type=text]').type('MyNewFile')
cy.get('@menuitem').find('.filenameform .icon-confirm').click()

cy.waitForViewer()
cy.waitForCollabora()
describe('Creates a new file', function() {
const newFileTypeLabels = [
'document', 'spreadsheet', 'presentation', 'diagram',
]
newFileTypeLabels.forEach((filetype) => {
it('Create empty ' + filetype + ' file', function() {
cy.newFileFromMenu(filetype, 'MyNewFile')
cy.waitForViewer()
cy.waitForCollabora()

cy.screenshot('new-file-' + filetype)
cy.screenshot('new-file-' + filetype)

cy.get('@loleafletframe').within(() => {
cy.get('#closebutton').click()
cy.waitForViewerClose()
cy.closeDocument()
})
})
})
Expand Down
33 changes: 32 additions & 1 deletion cypress/e2e/share-link.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { randHash } from '../utils/index.js'
const shareOwner = new User(randHash(), randHash())
const otherUser = new User(randHash(), randHash())

describe.skip('Public sharing of office documents', () => {
describe('Public sharing of office documents', () => {
before(function() {
cy.nextcloudTestingAppConfigSet('richdocuments', 'doc_format', '')
cy.createUser(shareOwner)
Expand Down Expand Up @@ -105,6 +105,37 @@ describe.skip('Public sharing of office documents', () => {
})
})
})

describe('New file', () => {
before(() => {
cy.createFolder(shareOwner, '/Shared-Folder')
cy.createFolder(shareOwner, '/Shared-Folder/Subfolder')
})

it('Creates a new file in a public share as a guest', () => {
cy.shareLink(shareOwner, '/Shared-Folder', { permissions: 13 }).then((token) => {
cy.logout()

cy.visit(`/s/${token}`, {
onBeforeLoad(win) {
cy.spy(win, 'postMessage').as('postMessage')
},
})

cy.get('tr[data-cy-files-list-row-name="Subfolder"]')
.should('be.visible')
.click()

cy.newFileFromMenu('document', 'MyNewFile')
waitForCollabora()

// Make sure the document is still in the correct subfolder
cy.reload()
cy.get('tr[data-cy-files-list-row-name="MyNewFile.odt"]')
.should('be.visible')
})
})
})
})
})

Expand Down
14 changes: 14 additions & 0 deletions cypress/support/commands.js
Original file line number Diff line number Diff line change
Expand Up @@ -454,3 +454,17 @@ Cypress.Commands.add('makeTalkRoomPublic', (user, token, password = '') => {
})
})

Cypress.Commands.add('newFileFromMenu', (fileType = 'document', fileName = 'MyNewFile') => {
cy.get('form[data-cy-upload-picker=""]')
.should('be.visible')
.click()

cy.get('button[role="menuitem"]')
.contains('New ' + fileType)
.should('be.visible')
.click()

cy.get('input[data-cy-files-new-node-dialog-input=""]')
.should('be.visible')
.type(fileName + '{enter}')
})