summaryrefslogtreecommitdiffstats
path: root/cypress/support
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@protonmail.com>2023-01-04 19:06:52 +0100
committerJohn Molakvoæ <skjnldsv@protonmail.com>2023-01-17 18:30:41 +0100
commitb9906fb21e9f1aadf14e473b8c26a2ec7537fa11 (patch)
tree3b068eb999c675760d715e78da2d5eee8668cb44 /cypress/support
parent9af7ee8d11b43a7a3d14f7aa8390aff0a4174f55 (diff)
downloadnextcloud-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.ts8
-rw-r--r--cypress/support/component.ts34
-rw-r--r--cypress/support/e2e.ts2
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'