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/component.ts | |
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/component.ts')
-rw-r--r-- | cypress/support/component.ts | 34 |
1 files changed, 28 insertions, 6 deletions
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') + }) +}) |