diff options
Diffstat (limited to 'cypress/e2e/files_versions/version_restoration.cy.ts')
-rw-r--r-- | cypress/e2e/files_versions/version_restoration.cy.ts | 50 |
1 files changed, 19 insertions, 31 deletions
diff --git a/cypress/e2e/files_versions/version_restoration.cy.ts b/cypress/e2e/files_versions/version_restoration.cy.ts index 72295003bba..34360808f61 100644 --- a/cypress/e2e/files_versions/version_restoration.cy.ts +++ b/cypress/e2e/files_versions/version_restoration.cy.ts @@ -1,23 +1,6 @@ /** - * @copyright Copyright (c) 2022 Louis Chmn <louis@chmn.me> - * - * @author Louis Chmn <louis@chmn.me> - * - * @license AGPL-3.0-or-later - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ import type { User } from '@nextcloud/cypress' @@ -94,33 +77,38 @@ describe('Versions restoration', () => { }) it('Does not work without update permission through direct API access', () => { - let hostname: string let fileId: string|undefined let versionId: string|undefined setupTestSharedFileFromUser(user, randomFileName, { update: false }) - .then(recipient => { + .then((recipient) => { openVersionsPanel(randomFileName) - cy.url().then(url => { hostname = new URL(url).hostname }) - getRowForFile(randomFileName).invoke('attr', 'data-cy-files-list-row-fileid').then(_fileId => { fileId = _fileId }) - cy.get('[data-files-versions-version]').eq(1).invoke('attr', 'data-files-versions-version').then(_versionId => { versionId = _versionId }) + getRowForFile(randomFileName) + .should('be.visible') + .invoke('attr', 'data-cy-files-list-row-fileid') + .then(($fileId) => { fileId = $fileId }) + cy.get('[data-files-versions-version]') + .eq(1) + .invoke('attr', 'data-files-versions-version') + .then(($versionId) => { versionId = $versionId }) + + cy.logout() cy.then(() => { - cy.logout() - cy.request({ + const base = Cypress.config('baseUrl')!.replace(/\/index\.php\/?$/, '') + return cy.request({ method: 'MOVE', + url: `${base}/remote.php/dav/versions/${recipient.userId}/versions/${fileId}/${versionId}`, auth: { user: recipient.userId, pass: recipient.password }, headers: { cookie: '', - Destination: `http://${hostname}/remote.php/dav/versions/${recipient.userId}/restore/target`, + Destination: `${base}}/remote.php/dav/versions/${recipient.userId}/restore/target`, }, - url: `http://${hostname}/remote.php/dav/versions/${recipient.userId}/versions/${fileId}/${versionId}`, failOnStatusCode: false, }) - .then(({ status }) => { - expect(status).to.equal(403) - }) + }).then(({ status }) => { + expect(status).to.equal(403) }) }) }) |