diff options
author | John Molakvoæ <skjnldsv@protonmail.com> | 2023-01-04 19:06:52 +0100 |
---|---|---|
committer | John Molakvoæ <skjnldsv@protonmail.com> | 2023-01-17 18:30:41 +0100 |
commit | b9906fb21e9f1aadf14e473b8c26a2ec7537fa11 (patch) | |
tree | 3b068eb999c675760d715e78da2d5eee8668cb44 /cypress/support | |
parent | 9af7ee8d11b43a7a3d14f7aa8390aff0a4174f55 (diff) | |
download | nextcloud-server-b9906fb21e9f1aadf14e473b8c26a2ec7537fa11.tar.gz nextcloud-server-b9906fb21e9f1aadf14e473b8c26a2ec7537fa11.zip |
feat(files): Quota in navigation
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Diffstat (limited to 'cypress/support')
-rw-r--r-- | cypress/support/commands.ts | 8 | ||||
-rw-r--r-- | cypress/support/component.ts | 34 | ||||
-rw-r--r-- | cypress/support/e2e.ts | 2 |
3 files changed, 33 insertions, 11 deletions
diff --git a/cypress/support/commands.ts b/cypress/support/commands.ts index ad3f665cade..0da637363de 100644 --- a/cypress/support/commands.ts +++ b/cypress/support/commands.ts @@ -19,7 +19,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -/* eslint-disable node/no-unpublished-import */ +/* eslint-disable n/no-unpublished-import */ import axios from '@nextcloud/axios' import { addCommands, User } from '@nextcloud/cypress' import { basename } from 'path' @@ -105,7 +105,7 @@ Cypress.Commands.add('uploadFile', (user, fixture = 'image.jpg', mimeType = 'ima /** * Reset the admin theming entirely */ - Cypress.Commands.add('resetAdminTheming', () => { +Cypress.Commands.add('resetAdminTheming', () => { const admin = new User('admin', 'admin') cy.clearCookies() @@ -119,7 +119,7 @@ Cypress.Commands.add('uploadFile', (user, fixture = 'image.jpg', mimeType = 'ima method: 'POST', url: '/index.php/apps/theming/ajax/undoAllChanges', headers: { - 'requesttoken': requestToken, + requesttoken: requestToken, }, }) }) @@ -147,7 +147,7 @@ Cypress.Commands.add('resetUserTheming', (user?: User) => { method: 'POST', url: '/apps/theming/background/default', headers: { - 'requesttoken': requestToken, + requesttoken: requestToken, }, }) }) diff --git a/cypress/support/component.ts b/cypress/support/component.ts index b23ea62fb5b..be4b8c94b1b 100644 --- a/cypress/support/component.ts +++ b/cypress/support/component.ts @@ -21,15 +21,37 @@ */ import { mount } from 'cypress/vue2' -type MountParams = Parameters<typeof mount>; -type OptionsParam = MountParams[1]; - +// Augment the Cypress namespace to include type definitions for +// your custom command. +// Alternatively, can be defined in cypress/support/component.d.ts +// with a <reference path="./component" /> at the top of your spec. declare global { + // eslint-disable-next-line @typescript-eslint/no-namespace namespace Cypress { - interface Chainable<Subject = any> { - mount: typeof mount; + interface Chainable { + mount: typeof mount } } } -Cypress.Commands.add('mount', mount); +// Example use: +// cy.mount(MyComponent) +Cypress.Commands.add('mount', (component, optionsOrProps) => { + let instance = null + const oldMounted = component?.mounted || false + + // Override the mounted method to expose + // the component instance to cypress + component.mounted = function() { + // eslint-disable-next-line + instance = this + if (oldMounted) { + oldMounted() + } + } + + // Expose the component with cy.get('@component') + return mount(component, optionsOrProps).then(() => { + return cy.wrap(instance).as('component') + }) +}) diff --git a/cypress/support/e2e.ts b/cypress/support/e2e.ts index ad3b70e8910..4c1ddcc344a 100644 --- a/cypress/support/e2e.ts +++ b/cypress/support/e2e.ts @@ -19,4 +19,4 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ -import './commands'
\ No newline at end of file +import './commands' |