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 | |
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')
-rw-r--r-- | cypress/dockerNode.ts | 11 | ||||
-rw-r--r-- | cypress/e2e/theming/admin-settings.cy.ts | 5 | ||||
-rw-r--r-- | cypress/e2e/theming/themingUtils.ts | 4 | ||||
-rw-r--r-- | cypress/e2e/theming/user-background.cy.ts | 4 | ||||
-rw-r--r-- | cypress/support/commands.ts | 8 | ||||
-rw-r--r-- | cypress/support/component.ts | 34 | ||||
-rw-r--r-- | cypress/support/e2e.ts | 2 |
7 files changed, 48 insertions, 20 deletions
diff --git a/cypress/dockerNode.ts b/cypress/dockerNode.ts index 27706bfb7c3..c9f53d50bf0 100644 --- a/cypress/dockerNode.ts +++ b/cypress/dockerNode.ts @@ -20,7 +20,8 @@ * */ /* eslint-disable no-console */ -/* eslint-disable node/no-unpublished-import */ +/* eslint-disable n/no-unpublished-import */ +/* eslint-disable n/no-extraneous-import */ import Docker from 'dockerode' import waitOn from 'wait-on' @@ -36,7 +37,7 @@ const SERVER_IMAGE = 'ghcr.io/nextcloud/continuous-integration-shallow-server' * * @param {string} branch the branch of your current work */ -export const startNextcloud = async function(branch: string = 'master'): Promise<any> { +export const startNextcloud = async function(branch = 'master'): Promise<any> { try { // Pulling images @@ -48,6 +49,10 @@ export const startNextcloud = async function(branch: string = 'master'): Promise // https://github.com/apocas/dockerode/issues/357 docker.modem.followProgress(stream, onFinished) + /** + * + * @param err + */ function onFinished(err) { if (!err) { resolve(true) @@ -85,7 +90,7 @@ export const startNextcloud = async function(branch: string = 'master'): Promise }, Env: [ `BRANCH=${branch}`, - ] + ], }) await container.start() diff --git a/cypress/e2e/theming/admin-settings.cy.ts b/cypress/e2e/theming/admin-settings.cy.ts index 97f3b66c36e..4736ace9e4d 100644 --- a/cypress/e2e/theming/admin-settings.cy.ts +++ b/cypress/e2e/theming/admin-settings.cy.ts @@ -19,6 +19,7 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ +/* eslint-disable n/no-unpublished-import */ import { User } from '@nextcloud/cypress' import { colord } from 'colord' @@ -66,7 +67,7 @@ describe('Change the primary colour and reset it', function() { cy.intercept('*/apps/theming/ajax/updateStylesheet').as('setColor') pickRandomColor('[data-admin-theming-setting-primary-color-picker]') - .then(color => selectedColor = color) + .then(color => { selectedColor = color }) cy.wait('@setColor') cy.waitUntil(() => validateBodyThemingCss(selectedColor, defaultBackground)) @@ -310,7 +311,7 @@ describe('User default option matches admin theming', function() { cy.intercept('*/apps/theming/ajax/updateStylesheet').as('setColor') pickRandomColor('[data-admin-theming-setting-primary-color-picker]') - .then(color => selectedColor = color) + .then(color => { selectedColor = color }) cy.wait('@setColor') cy.waitUntil(() => cy.window().then((win) => { diff --git a/cypress/e2e/theming/themingUtils.ts b/cypress/e2e/theming/themingUtils.ts index 2cdbb07c000..f3e9d96bd05 100644 --- a/cypress/e2e/theming/themingUtils.ts +++ b/cypress/e2e/theming/themingUtils.ts @@ -67,9 +67,9 @@ export const pickRandomColor = function(pickerSelector: string): Cypress.Chainab cy.get(pickerSelector).click() // Return selected colour - return cy.get(pickerSelector).get(`.color-picker__simple-color-circle`).eq(randColour) + return cy.get(pickerSelector).get('.color-picker__simple-color-circle').eq(randColour) .click().then(colorElement => { const selectedColor = colorElement.css('background-color') return selectedColor }) -}
\ No newline at end of file +} diff --git a/cypress/e2e/theming/user-background.cy.ts b/cypress/e2e/theming/user-background.cy.ts index f2fde122ce4..8f9e42d6ad4 100644 --- a/cypress/e2e/theming/user-background.cy.ts +++ b/cypress/e2e/theming/user-background.cy.ts @@ -21,11 +21,11 @@ */ import type { User } from '@nextcloud/cypress' +import { pickRandomColor, validateBodyThemingCss } from './themingUtils' + const defaultPrimary = '#006aa3' const defaultBackground = 'kamil-porembinski-clouds.jpg' -import { pickRandomColor, validateBodyThemingCss } from './themingUtils' - describe('User default background settings', function() { before(function() { cy.createRandomUser().then((user: User) => { 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' |