aboutsummaryrefslogtreecommitdiffstats
path: root/cypress
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
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')
-rw-r--r--cypress/dockerNode.ts11
-rw-r--r--cypress/e2e/theming/admin-settings.cy.ts5
-rw-r--r--cypress/e2e/theming/themingUtils.ts4
-rw-r--r--cypress/e2e/theming/user-background.cy.ts4
-rw-r--r--cypress/support/commands.ts8
-rw-r--r--cypress/support/component.ts34
-rw-r--r--cypress/support/e2e.ts2
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'