mirror of
https://github.com/nextcloud/richdocuments.git
synced 2025-12-17 21:12:14 +01:00
feat(test): add test coverage
Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
This commit is contained in:
parent
71cde2dad9
commit
2006bc3064
3 changed files with 64 additions and 36 deletions
|
|
@ -2,8 +2,8 @@
|
|||
* SPDX-FileCopyrightText: 2023 Julius Härtl <jus@bitgrid.net>
|
||||
* 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() {
|
||||
|
|
@ -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 })
|
||||
cy.get('button[role="menuitem"]')
|
||||
.contains('New document')
|
||||
.should('be.visible')
|
||||
.contains('.menuitem', '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()
|
||||
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.get('.newFileMenu', { timeout: 10000 })
|
||||
.should('be.visible')
|
||||
.contains('.menuitem', 'New ' + filetype)
|
||||
.as('menuitem')
|
||||
.should('be.visible')
|
||||
.click()
|
||||
cy.screenshot('new-file-' + filetype)
|
||||
|
||||
cy.get('@menuitem').find('.filenameform input[type=text]').type('MyNewFile')
|
||||
cy.get('@menuitem').find('.filenameform .icon-confirm').click()
|
||||
|
||||
cy.waitForViewer()
|
||||
cy.waitForCollabora()
|
||||
|
||||
cy.screenshot('new-file-' + filetype)
|
||||
|
||||
cy.get('@loleafletframe').within(() => {
|
||||
cy.get('#closebutton').click()
|
||||
cy.waitForViewerClose()
|
||||
cy.closeDocument()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -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')
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -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}')
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue