From 364d7909e75af03ce1d6bedc01d33b85a5092964 Mon Sep 17 00:00:00 2001 From: Kai Rollmann Date: Mon, 13 Nov 2023 12:27:48 +0100 Subject: [PATCH 1/4] Upgrade cypress --- frontend/tsconfig.json | 23 ++- package-lock.json | 404 ++++++++++++++++++++++++++++++++--------- package.json | 2 +- 3 files changed, 336 insertions(+), 93 deletions(-) diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json index 88804f38bb..8d376b9839 100644 --- a/frontend/tsconfig.json +++ b/frontend/tsconfig.json @@ -18,7 +18,13 @@ "module": "ESNext", "target": "es6", "allowJs": true, - "lib": ["es5", "es6", "dom", "dom.iterable", "es2019"], + "lib": [ + "es5", + "es6", + "dom", + "dom.iterable", + "es2019" + ], "forceConsistentCasingInFileNames": true, "noUnusedLocals": true, "noUnusedParameters": true, @@ -26,6 +32,15 @@ "noFallthroughCasesInSwitch": true, "strictBindCallApply": true }, - "include": ["src", "node_modules/**/*/*.d.ts"], - "exclude": ["node_modules", "public", ".cache", ".idea", "src/ignored/*"] -} + "include": [ + "src", + "node_modules/**/*/*.d.ts" + ], + "exclude": [ + "node_modules", + "public", + ".cache", + ".idea", + "src/ignored/*" + ] +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 910acc2372..97064f28de 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "cypress": "^9.6.1" + "cypress": "^13.5.0" } }, "node_modules/@colors/colors": { @@ -21,8 +21,9 @@ } }, "node_modules/@cypress/request": { - "version": "2.88.10", - "license": "Apache-2.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -37,9 +38,9 @@ "json-stringify-safe": "~5.0.1", "mime-types": "~2.1.19", "performance-now": "^2.1.0", - "qs": "~6.5.2", + "qs": "6.10.4", "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", + "tough-cookie": "^4.1.3", "tunnel-agent": "^0.6.0", "uuid": "^8.3.2" }, @@ -67,8 +68,12 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "14.18.17", - "license": "MIT" + "version": "18.18.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.9.tgz", + "integrity": "sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", @@ -86,11 +91,6 @@ "@types/node": "*" } }, - "node_modules/@types/yauzl/node_modules/@types/node": { - "version": "17.0.32", - "license": "MIT", - "optional": true - }, "node_modules/aggregate-error": { "version": "3.1.0", "license": "MIT", @@ -162,14 +162,16 @@ }, "node_modules/asn1": { "version": "0.2.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dependencies": { "safer-buffer": "~2.1.0" } }, "node_modules/assert-plus": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "engines": { "node": ">=0.8" } @@ -187,7 +189,8 @@ }, "node_modules/asynckit": { "version": "0.4.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/at-least-node": { "version": "1.0.0", @@ -198,14 +201,16 @@ }, "node_modules/aws-sign2": { "version": "0.7.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "engines": { "node": "*" } }, "node_modules/aws4": { - "version": "1.11.0", - "license": "MIT" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" }, "node_modules/balanced-match": { "version": "1.0.2", @@ -231,7 +236,8 @@ }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dependencies": { "tweetnacl": "^0.14.3" } @@ -288,9 +294,23 @@ "node": ">=6" } }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caseless": { "version": "0.12.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "node_modules/chalk": { "version": "4.1.2", @@ -391,7 +411,8 @@ }, "node_modules/combined-stream": { "version": "1.0.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -400,8 +421,9 @@ } }, "node_modules/commander": { - "version": "5.1.0", - "license": "MIT", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "engines": { "node": ">= 6" } @@ -419,7 +441,8 @@ }, "node_modules/core-util-is": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -434,13 +457,14 @@ } }, "node_modules/cypress": { - "version": "9.6.1", + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.5.0.tgz", + "integrity": "sha512-oh6U7h9w8wwHfzNDJQ6wVcAeXu31DlIYlNOBvfd6U4CcB8oe4akawQmH+QJVOMZlM42eBoCne015+svVqdwdRQ==", "hasInstallScript": true, - "license": "MIT", "dependencies": { - "@cypress/request": "^2.88.10", + "@cypress/request": "^3.0.0", "@cypress/xvfb": "^1.2.4", - "@types/node": "^14.14.31", + "@types/node": "^18.17.5", "@types/sinonjs__fake-timers": "8.1.1", "@types/sizzle": "^2.3.2", "arch": "^2.2.0", @@ -452,12 +476,12 @@ "check-more-types": "^2.24.0", "cli-cursor": "^3.1.0", "cli-table3": "~0.6.1", - "commander": "^5.1.0", + "commander": "^6.2.1", "common-tags": "^1.8.0", "dayjs": "^1.10.4", - "debug": "^4.3.2", + "debug": "^4.3.4", "enquirer": "^2.3.6", - "eventemitter2": "^6.4.3", + "eventemitter2": "6.4.7", "execa": "4.1.0", "executable": "^4.1.1", "extract-zip": "2.0.1", @@ -470,12 +494,13 @@ "listr2": "^3.8.3", "lodash": "^4.17.21", "log-symbols": "^4.0.0", - "minimist": "^1.2.6", + "minimist": "^1.2.8", "ospath": "^1.2.2", "pretty-bytes": "^5.6.0", + "process": "^0.11.10", "proxy-from-env": "1.0.0", "request-progress": "^3.0.0", - "semver": "^7.3.2", + "semver": "^7.5.3", "supports-color": "^8.1.1", "tmp": "~0.2.1", "untildify": "^4.0.0", @@ -485,12 +510,13 @@ "cypress": "bin/cypress" }, "engines": { - "node": ">=12.0.0" + "node": "^16.0.0 || ^18.0.0 || >=20.0.0" } }, "node_modules/dashdash": { "version": "1.14.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dependencies": { "assert-plus": "^1.0.0" }, @@ -517,16 +543,31 @@ } } }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { "node": ">=0.4.0" } }, "node_modules/ecc-jsbn": { "version": "0.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -561,8 +602,9 @@ } }, "node_modules/eventemitter2": { - "version": "6.4.5", - "license": "MIT" + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==" }, "node_modules/execa": { "version": "4.1.0", @@ -597,7 +639,8 @@ }, "node_modules/extend": { "version": "3.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "node_modules/extract-zip": { "version": "2.0.1", @@ -619,10 +662,11 @@ }, "node_modules/extsprintf": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "engines": [ "node >=0.6.0" - ], - "license": "MIT" + ] }, "node_modules/fd-slicer": { "version": "1.1.0", @@ -646,14 +690,16 @@ }, "node_modules/forever-agent": { "version": "0.6.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "engines": { "node": "*" } }, "node_modules/form-data": { "version": "2.3.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -680,6 +726,28 @@ "version": "1.0.0", "license": "ISC" }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-stream": { "version": "5.2.0", "license": "MIT", @@ -702,7 +770,8 @@ }, "node_modules/getpass": { "version": "0.1.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "dependencies": { "assert-plus": "^1.0.0" } @@ -738,6 +807,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.10", "license": "ISC" @@ -749,9 +829,54 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/http-signature": { "version": "1.3.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", @@ -862,7 +987,8 @@ }, "node_modules/is-typedarray": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, "node_modules/is-unicode-supported": { "version": "0.1.0", @@ -880,19 +1006,23 @@ }, "node_modules/isstream": { "version": "0.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" }, "node_modules/jsbn": { "version": "0.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" }, "node_modules/json-schema": { "version": "0.4.0", - "license": "(AFL-2.1 OR BSD-3-Clause)" + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "node_modules/json-stringify-safe": { "version": "5.0.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" }, "node_modules/jsonfile": { "version": "6.1.0", @@ -906,10 +1036,11 @@ }, "node_modules/jsprim": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "engines": [ "node >=0.6.0" ], - "license": "MIT", "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -1016,7 +1147,8 @@ }, "node_modules/lru-cache": { "version": "6.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" }, @@ -1030,14 +1162,16 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" }, @@ -1063,8 +1197,12 @@ } }, "node_modules/minimist": { - "version": "1.2.6", - "license": "MIT" + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/ms": { "version": "2.1.2", @@ -1080,6 +1218,14 @@ "node": ">=8" } }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "license": "ISC", @@ -1137,7 +1283,8 @@ }, "node_modules/performance-now": { "version": "2.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" }, "node_modules/pify": { "version": "2.3.0", @@ -1156,13 +1303,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/proxy-from-env": { "version": "1.0.0", "license": "MIT" }, "node_modules/psl": { - "version": "1.8.0", - "license": "MIT" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, "node_modules/pump": { "version": "3.0.0", @@ -1173,19 +1329,32 @@ } }, "node_modules/punycode": { - "version": "2.1.1", - "license": "MIT", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } }, "node_modules/qs": { - "version": "6.5.3", - "license": "BSD-3-Clause", + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, "node_modules/request-progress": { "version": "3.0.0", "license": "MIT", @@ -1193,6 +1362,11 @@ "throttleit": "^1.0.0" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, "node_modules/restore-cursor": { "version": "3.1.0", "license": "MIT", @@ -1230,6 +1404,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -1243,16 +1419,17 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safer-buffer": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { - "version": "7.3.7", - "license": "ISC", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -1263,6 +1440,20 @@ "node": ">=10" } }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "license": "MIT", @@ -1280,6 +1471,19 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "license": "ISC" @@ -1297,8 +1501,9 @@ } }, "node_modules/sshpk": { - "version": "1.17.0", - "license": "MIT", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -1380,14 +1585,25 @@ } }, "node_modules/tough-cookie": { - "version": "2.5.0", - "license": "BSD-3-Clause", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { - "node": ">=0.8" + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" } }, "node_modules/tslib": { @@ -1396,7 +1612,8 @@ }, "node_modules/tunnel-agent": { "version": "0.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -1406,7 +1623,8 @@ }, "node_modules/tweetnacl": { "version": "0.14.5", - "license": "Unlicense" + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" }, "node_modules/type-fest": { "version": "0.21.3", @@ -1418,6 +1636,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/universalify": { "version": "2.0.0", "license": "MIT", @@ -1432,32 +1655,36 @@ "node": ">=8" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/uuid": { "version": "8.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/verror": { "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "engines": [ "node >=0.6.0" ], - "license": "MIT", "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "node_modules/verror/node_modules/extsprintf": { - "version": "1.4.1", - "engines": [ - "node >=0.6.0" - ], - "license": "MIT" - }, "node_modules/which": { "version": "2.0.2", "license": "ISC", @@ -1492,7 +1719,8 @@ }, "node_modules/yallist": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yauzl": { "version": "2.10.0", diff --git a/package.json b/package.json index 23c7796beb..4cb8a4ee58 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,6 @@ "author": "Kai Rollmann ", "license": "MIT", "dependencies": { - "cypress": "^9.6.1" + "cypress": "^13.5.0" } } From ac5654b56141c92ad8c669b92c60814e2895f7cb Mon Sep 17 00:00:00 2001 From: Kai Rollmann Date: Mon, 13 Nov 2023 12:41:04 +0100 Subject: [PATCH 2/4] Run cypress migrations --- cypress.config.js | 12 ++++++++++++ cypress.json | 3 --- .../backend-admin-ui/test_0_visitPage.cy.js} | 0 .../backend-admin-ui/test_1_datasets.cy.js} | 0 .../backend-admin-ui/test_2_dataset.cy.js} | 0 .../frontend/test_0_visitPage.cy.js} | 0 .../frontend/test_1_runQuery.cy.js} | 0 .../frontend/test_2_visitFormEditor.cy.js} | 0 .../frontend/test_3_openHelpMenu.cy.js} | 0 cypress/support/{index.js => e2e.js} | 0 10 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 cypress.config.js delete mode 100644 cypress.json rename cypress/{integration/backend-admin-ui/test_0_visitPage.js => e2e/backend-admin-ui/test_0_visitPage.cy.js} (100%) rename cypress/{integration/backend-admin-ui/test_1_datasets.js => e2e/backend-admin-ui/test_1_datasets.cy.js} (100%) rename cypress/{integration/backend-admin-ui/test_2_dataset.js => e2e/backend-admin-ui/test_2_dataset.cy.js} (100%) rename cypress/{integration/frontend/test_0_visitPage.js => e2e/frontend/test_0_visitPage.cy.js} (100%) rename cypress/{integration/frontend/test_1_runQuery.js => e2e/frontend/test_1_runQuery.cy.js} (100%) rename cypress/{integration/frontend/test_2_visitFormEditor.js => e2e/frontend/test_2_visitFormEditor.cy.js} (100%) rename cypress/{integration/frontend/test_3_openHelpMenu.js => e2e/frontend/test_3_openHelpMenu.cy.js} (100%) rename cypress/support/{index.js => e2e.js} (100%) diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 0000000000..867a546241 --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,12 @@ +const { defineConfig } = require('cypress') + +module.exports = defineConfig({ + e2e: { + // We've imported your old cypress plugins here. + // You may want to clean this up later by importing these. + setupNodeEvents(on, config) { + return require('./cypress/plugins/index.js')(on, config) + }, + baseUrl: 'http://localhost:8080', + }, +}) diff --git a/cypress.json b/cypress.json deleted file mode 100644 index d1ab2fc04f..0000000000 --- a/cypress.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "baseUrl": "http://localhost:8080" -} diff --git a/cypress/integration/backend-admin-ui/test_0_visitPage.js b/cypress/e2e/backend-admin-ui/test_0_visitPage.cy.js similarity index 100% rename from cypress/integration/backend-admin-ui/test_0_visitPage.js rename to cypress/e2e/backend-admin-ui/test_0_visitPage.cy.js diff --git a/cypress/integration/backend-admin-ui/test_1_datasets.js b/cypress/e2e/backend-admin-ui/test_1_datasets.cy.js similarity index 100% rename from cypress/integration/backend-admin-ui/test_1_datasets.js rename to cypress/e2e/backend-admin-ui/test_1_datasets.cy.js diff --git a/cypress/integration/backend-admin-ui/test_2_dataset.js b/cypress/e2e/backend-admin-ui/test_2_dataset.cy.js similarity index 100% rename from cypress/integration/backend-admin-ui/test_2_dataset.js rename to cypress/e2e/backend-admin-ui/test_2_dataset.cy.js diff --git a/cypress/integration/frontend/test_0_visitPage.js b/cypress/e2e/frontend/test_0_visitPage.cy.js similarity index 100% rename from cypress/integration/frontend/test_0_visitPage.js rename to cypress/e2e/frontend/test_0_visitPage.cy.js diff --git a/cypress/integration/frontend/test_1_runQuery.js b/cypress/e2e/frontend/test_1_runQuery.cy.js similarity index 100% rename from cypress/integration/frontend/test_1_runQuery.js rename to cypress/e2e/frontend/test_1_runQuery.cy.js diff --git a/cypress/integration/frontend/test_2_visitFormEditor.js b/cypress/e2e/frontend/test_2_visitFormEditor.cy.js similarity index 100% rename from cypress/integration/frontend/test_2_visitFormEditor.js rename to cypress/e2e/frontend/test_2_visitFormEditor.cy.js diff --git a/cypress/integration/frontend/test_3_openHelpMenu.js b/cypress/e2e/frontend/test_3_openHelpMenu.cy.js similarity index 100% rename from cypress/integration/frontend/test_3_openHelpMenu.js rename to cypress/e2e/frontend/test_3_openHelpMenu.cy.js diff --git a/cypress/support/index.js b/cypress/support/e2e.js similarity index 100% rename from cypress/support/index.js rename to cypress/support/e2e.js From 6c807b940abc246510118ca754d7902714eb6fcc Mon Sep 17 00:00:00 2001 From: Kai Rollmann Date: Mon, 13 Nov 2023 12:46:15 +0100 Subject: [PATCH 3/4] Update github action --- .github/workflows/test_cypress.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_cypress.yml b/.github/workflows/test_cypress.yml index e552a5c9cd..cabccfb095 100644 --- a/.github/workflows/test_cypress.yml +++ b/.github/workflows/test_cypress.yml @@ -47,7 +47,7 @@ jobs: - name: Cypress run # This is a preconfigured action, maintained by cypress, to run e2e tests # https://github.com/cypress-io/github-action - uses: cypress-io/github-action@v2 + uses: cypress-io/github-action@v6 with: working-directory: . start: bash ./scripts/run_e2e_all.sh From 012128e10634053f8a46eaf2eb1cf7b81af1f200 Mon Sep 17 00:00:00 2001 From: Kai Rollmann Date: Mon, 13 Nov 2023 13:17:34 +0100 Subject: [PATCH 4/4] Update to beforeEach --- .../backend-admin-ui/test_0_visitPage.cy.js | 14 +- .../backend-admin-ui/test_1_datasets.cy.js | 54 +-- .../e2e/backend-admin-ui/test_2_dataset.cy.js | 396 ++++++++++-------- cypress/e2e/frontend/test_0_visitPage.cy.js | 4 +- cypress/e2e/frontend/test_1_runQuery.cy.js | 6 +- .../e2e/frontend/test_2_visitFormEditor.cy.js | 2 +- .../e2e/frontend/test_3_openHelpMenu.cy.js | 7 +- 7 files changed, 262 insertions(+), 221 deletions(-) diff --git a/cypress/e2e/backend-admin-ui/test_0_visitPage.cy.js b/cypress/e2e/backend-admin-ui/test_0_visitPage.cy.js index 8f2b9fac11..52c017f90f 100644 --- a/cypress/e2e/backend-admin-ui/test_0_visitPage.cy.js +++ b/cypress/e2e/backend-admin-ui/test_0_visitPage.cy.js @@ -2,11 +2,13 @@ import { visitAdminUI } from "../../integration-helpers/visitAdminUI"; context("Visit conquery admin ui", () => { - describe("Access on the start page", () => { - before(() => { visitAdminUI(); }); + describe("Access on the start page", () => { + beforeEach(() => { + visitAdminUI(); + }); - it("Can see the start page", () => { - cy.contains("Conquery Admin"); - }); + it("Can see the start page", () => { + cy.contains("Conquery Admin"); }); -}); \ No newline at end of file + }); +}); diff --git a/cypress/e2e/backend-admin-ui/test_1_datasets.cy.js b/cypress/e2e/backend-admin-ui/test_1_datasets.cy.js index c0c333c8e1..b8dc2fcb12 100644 --- a/cypress/e2e/backend-admin-ui/test_1_datasets.cy.js +++ b/cypress/e2e/backend-admin-ui/test_1_datasets.cy.js @@ -2,37 +2,43 @@ import { visitAdminUI } from "../../integration-helpers/visitAdminUI"; context("Admin UI Datasets", () => { - const testDSLabel = "TestDatasetName"; - const testDSID = "TestDatasetID"; + const testDSLabel = "TestDatasetName"; + const testDSID = "TestDatasetID"; - describe("Access on the page", () => { - before(() => { visitAdminUI('datasets'); }); + describe("Access on the page", () => { + beforeEach(() => { + visitAdminUI("datasets"); + }); - it("Can see the datasets page", () => { - cy.contains("Datasets"); - }); + it("Can see the datasets page", () => { + cy.contains("Datasets"); }); + }); - describe("Create a new dataset", () => { - before(() => { visitAdminUI('datasets'); }); + describe("Create a new dataset", () => { + beforeEach(() => { + visitAdminUI("datasets"); + }); - it("Can create a new dataset", () => { - cy.get('[data-test-id="entity-name"]').type(testDSLabel); - cy.get('[data-test-id="entity-id"]').type(testDSID); - cy.get('[data-test-id="create-dataset-btn"]').click().as('createDataset'); - }); + it("Can create a new dataset", () => { + cy.get('[data-test-id="entity-name"]').type(testDSLabel); + cy.get('[data-test-id="entity-id"]').type(testDSID); + cy.get('[data-test-id="create-dataset-btn"]').click().as("createDataset"); + }); - it("Can see the new dataset", () => { - cy.contains(testDSID); - }); + it("Can see the new dataset", () => { + cy.contains(testDSID); }); + }); - describe("Delete a dataset", () => { - before(() => { visitAdminUI('datasets'); }); + describe("Delete a dataset", () => { + beforeEach(() => { + visitAdminUI("datasets"); + }); - it("Can delete the test dataset", () => { - cy.get(`[data-test-id="delete-btn-${testDSID}"]`).click({force: true}); - cy.get(`[data-test-id="delete-btn-${testDSID}"]`).should('not.exist'); - }); + it("Can delete the test dataset", () => { + cy.get(`[data-test-id="delete-btn-${testDSID}"]`).click({ force: true }); + cy.get(`[data-test-id="delete-btn-${testDSID}"]`).should("not.exist"); }); -}); \ No newline at end of file + }); +}); diff --git a/cypress/e2e/backend-admin-ui/test_2_dataset.cy.js b/cypress/e2e/backend-admin-ui/test_2_dataset.cy.js index 48cf0ecabd..3c5c75d4b3 100644 --- a/cypress/e2e/backend-admin-ui/test_2_dataset.cy.js +++ b/cypress/e2e/backend-admin-ui/test_2_dataset.cy.js @@ -2,183 +2,219 @@ import { visitAdminUI } from "../../integration-helpers/visitAdminUI"; context("Admin UI Single Dataset", () => { - const testDSLabel = "TestDatasetName"; - const testDSID = "TestDatasetID2"; - - describe("Create a new dataset", () => { - before(() => { visitAdminUI('datasets'); }); - - it("Can create a new dataset", () => { - cy.get('[data-test-id="entity-name"]').type(testDSLabel); - cy.get('[data-test-id="entity-id"]').type(testDSID); - cy.get('[data-test-id="create-dataset-btn"]').click().as('createDataset'); - cy.contains(testDSID); - }); - }); - - describe("Access on the created dataset", () => { - before(() => { visitAdminUI(`datasets/${testDSID}`); }); - - it("Can see the datasets page", () => { - cy.contains(`Dataset ${testDSLabel}`); - }); - - it("Can change the label", () => { - cy.get('[data-test-id="editableText-btn"]').click(); - cy.get('[data-test-id="editableText-input"]').clear().type(`NEW ${testDSLabel}`); - cy.get('[data-test-id="editableText-form"]').submit(); - - cy.contains(`Dataset NEW ${testDSLabel}`); - }); - }); - - describe("Can upload test table and concept", () => { - beforeEach(() => { visitAdminUI(`datasets/${testDSID}`); }); - - it("Can upload table", () => { - cy.intercept('/admin/datasets/*/tables').as('apiCall'); - cy.get('[data-test-id="upload-select"]').select('Table JSON'); - cy.get('[data-test-id="upload-input"]').selectFile('./cypress/support/test_data/all_types.table.json'); - cy.get('[data-test-id="upload-btn"]').click(); - cy.wait('@apiCall').reload(); - cy.get('[data-test-id="accordion-Tables"]').contains('td', `table`); - }); - - it("Can upload concept", () => { - cy.intercept('/admin/datasets/*/concepts').as('apiCall'); - cy.get('[data-test-id="upload-select"]').select('Concept JSON'); - cy.get('[data-test-id="upload-input"]').selectFile('./cypress/support/test_data/all_types.concept.json'); - cy.get('[data-test-id="upload-btn"]').click(); - cy.wait('@apiCall').reload(); - cy.get('[data-test-id="accordion-Concepts"]').contains('td', `concept1`); - }); - - it("Can replace concept", () => { - cy.intercept('/admin/datasets/*/concepts*').as('apiCall'); - cy.get('[data-test-id="upload-select"]').select('Concept JSON'); - cy.get('[data-test-id="upload-input"]').selectFile('./cypress/support/test_data/all_types.concept.json'); - cy.get('[data-test-id="upload-btn"]').click(); - cy.wait('@apiCall'); - cy.get(`[data-test-id="toast-custom-button"]`).click(); - cy.wait('@apiCall'); - cy.get('[data-test-id="toast"]').contains('The file has been posted successfully'); - cy.reload(); - cy.get('[data-test-id="accordion-Concepts"]').contains('td', `concept1`); - }); - }); - - describe("Can visit table info page", () => { - before(() => { visitAdminUI(`datasets/${testDSID}/tables/${testDSID}.table`); }); - - it("Can use page components", () => { - cy.contains('Table table'); - cy.get('[data-test-id="accordion-Tags"]').click(); - cy.hash().should('eq', '#Tags'); - cy.get('[data-test-id="accordion-Concepts"]').click(); - cy.hash().should('eq', '#Concepts'); - cy.get('[data-test-id="accordion-Columns"]').click(); - cy.hash().should('eq', '#Columns'); - }); - }); - - describe("Can visit concept info page", () => { - before(() => { visitAdminUI(`datasets/${testDSID}/concepts/${testDSID}.concept1`); }); - - it("Can use page components", () => { - cy.contains('Concept Concept1'); - cy.get('[data-test-id="accordion-Selects"]').first().click(); - cy.hash().should('eq', '#Selects'); - cy.get('[data-test-id="accordion-Connectors"]').click(); - cy.hash().should('eq', '#Connectors'); - }); - }); - - describe("Can visit connector info page", () => { - it("Can use page components", () => { - visitAdminUI(`datasets/${testDSID}/concepts/${testDSID}.concept1`); - cy.get('[data-test-id="accordion-Connectors"]') - .click() - .get('.d-flex > :nth-child(1) > a') - .click(); - - cy.location('pathname').should('equal', `/admin-ui/datasets/${testDSID}/connectors/${testDSID}.concept1.column`); - }); - - it("Counts are right", () => { - visitAdminUI(`datasets/${testDSID}/connectors/${testDSID}.concept1.column`); - cy.get('[data-test-id="accordion-Filters"] > .card-header').contains("20 entries") - cy.get('[data-test-id="accordion-Selects"] > .card-header').contains("16 entries") - }) - }); - - describe("Connector page links work", () => { - beforeEach(() => { visitAdminUI(`datasets/${testDSID}/connectors/${testDSID}.concept1.column`); }); - - it("Goto datasets", () => { - cy.get('.breadcrumb > :nth-child(1) > a').click() - cy.location('pathname').should('equal', `/admin-ui/datasets`); - }); - - it("Goto dataset", () => { - cy.get('.breadcrumb > :nth-child(2) > a').click() - cy.location('pathname').should('equal', `/admin-ui/datasets/${testDSID}`); - }); - - it("Goto concepts", () => { - cy.get('.breadcrumb > :nth-child(3) > a').click() - cy.location('pathname').should('equal', `/admin-ui/datasets/${testDSID}`).location('hash').should('equal','#Concepts'); - }); - - it("Goto concept", () => { - cy.get('.breadcrumb > :nth-child(4) > a').click() - cy.location('pathname').should('equal', `/admin-ui/datasets/${testDSID}/concepts/${testDSID}.concept1`); - }); - - it("Goto connectors", () => { - cy.get('.breadcrumb > :nth-child(5) > a').click() - cy.location('pathname').should('equal', `/admin-ui/datasets/${testDSID}/concepts/${testDSID}.concept1`).location('hash').should('equal','#Connectors'); - }); - }); - - describe("Can delete test concept and table", () => { - beforeEach(() => visitAdminUI(`datasets/${testDSID}`)); - - it("Can delete test concept", () => { - cy.get('[data-test-id="accordion-Concepts"]').click(); - cy.get(`[data-test-id="delete-btn-concept-${testDSID}.concept1"]`).click({force: true}); - cy.get(`[data-test-id="delete-btn-${testDSID}.concept1"]`).should('not.exist'); - }); - - it("Can delete test table", () => { - cy.get('[data-test-id="accordion-Tables"]').click(); - cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).click({force: true}); - cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).should('not.exist'); - }); - - it("Can force delete test table", () => { - // reupload table and concept - cy.get('[data-test-id="upload-select"]').select('Table JSON'); - cy.get('[data-test-id="upload-input"]').selectFile('./cypress/support/test_data/all_types.table.json'); - cy.get('[data-test-id="upload-btn"]').click(); - cy.reload(); - cy.get('[data-test-id="upload-select"]').select('Concept JSON'); - cy.get('[data-test-id="upload-input"]').selectFile('./cypress/support/test_data/all_types.concept.json'); - cy.get('[data-test-id="upload-btn"]').click(); - cy.reload(); - - cy.get('[data-test-id="accordion-Tables"]').click(); - cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).click({force: true}); - cy.get(`[data-test-id="toast-custom-button"]`).click({force: true}); - cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).should('not.exist'); - }); - }); - - describe("Delete the test dataset", () => { - before(() => { visitAdminUI('datasets'); }); - - it("Can delete the test dataset", () => { - cy.get(`[data-test-id="delete-btn-${testDSID}"]`).click({force: true}); - cy.contains(testDSID).should('not.exist'); - }); - }); -}); \ No newline at end of file + const testDSLabel = "TestDatasetName"; + const testDSID = "TestDatasetID2"; + + describe("Create a new dataset", () => { + beforeEach(() => { + visitAdminUI("datasets"); + }); + + it("Can create a new dataset", () => { + cy.get('[data-test-id="entity-name"]').type(testDSLabel); + cy.get('[data-test-id="entity-id"]').type(testDSID); + cy.get('[data-test-id="create-dataset-btn"]').click().as("createDataset"); + cy.contains(testDSID); + }); + }); + + describe("Access on the created dataset", () => { + beforeEach(() => { + visitAdminUI(`datasets/${testDSID}`); + }); + + it("Can see the datasets page", () => { + cy.contains(`Dataset ${testDSLabel}`); + }); + + it("Can change the label", () => { + cy.get('[data-test-id="editableText-btn"]').click(); + cy.get('[data-test-id="editableText-input"]').clear().type(`NEW ${testDSLabel}`); + cy.get('[data-test-id="editableText-form"]').submit(); + + cy.contains(`Dataset NEW ${testDSLabel}`); + }); + }); + + describe("Can upload test table and concept", () => { + beforeEach(() => { + visitAdminUI(`datasets/${testDSID}`); + }); + + it("Can upload table", () => { + cy.intercept("/admin/datasets/*/tables").as("apiCall"); + cy.get('[data-test-id="upload-select"]').select("Table JSON"); + cy.get('[data-test-id="upload-input"]').selectFile( + "./cypress/support/test_data/all_types.table.json" + ); + cy.get('[data-test-id="upload-btn"]').click(); + cy.wait("@apiCall").reload(); + cy.get('[data-test-id="accordion-Tables"]').contains("td", `table`); + }); + + it("Can upload concept", () => { + cy.intercept("/admin/datasets/*/concepts").as("apiCall"); + cy.get('[data-test-id="upload-select"]').select("Concept JSON"); + cy.get('[data-test-id="upload-input"]').selectFile( + "./cypress/support/test_data/all_types.concept.json" + ); + cy.get('[data-test-id="upload-btn"]').click(); + cy.wait("@apiCall").reload(); + cy.get('[data-test-id="accordion-Concepts"]').contains("td", `concept1`); + }); + + it("Can replace concept", () => { + cy.intercept("/admin/datasets/*/concepts*").as("apiCall"); + cy.get('[data-test-id="upload-select"]').select("Concept JSON"); + cy.get('[data-test-id="upload-input"]').selectFile( + "./cypress/support/test_data/all_types.concept.json" + ); + cy.get('[data-test-id="upload-btn"]').click(); + cy.wait("@apiCall"); + cy.get(`[data-test-id="toast-custom-button"]`).click(); + cy.wait("@apiCall"); + cy.get('[data-test-id="toast"]').contains("The file has been posted successfully"); + cy.reload(); + cy.get('[data-test-id="accordion-Concepts"]').contains("td", `concept1`); + }); + }); + + describe("Can visit table info page", () => { + beforeEach(() => { + visitAdminUI(`datasets/${testDSID}/tables/${testDSID}.table`); + }); + + it("Can use page components", () => { + cy.contains("Table table"); + cy.get('[data-test-id="accordion-Tags"]').click(); + cy.hash().should("eq", "#Tags"); + cy.get('[data-test-id="accordion-Concepts"]').click(); + cy.hash().should("eq", "#Concepts"); + cy.get('[data-test-id="accordion-Columns"]').click(); + cy.hash().should("eq", "#Columns"); + }); + }); + + describe("Can visit concept info page", () => { + beforeEach(() => { + visitAdminUI(`datasets/${testDSID}/concepts/${testDSID}.concept1`); + }); + + it("Can use page components", () => { + cy.contains("Concept Concept1"); + cy.get('[data-test-id="accordion-Selects"]').first().click(); + cy.hash().should("eq", "#Selects"); + cy.get('[data-test-id="accordion-Connectors"]').click(); + cy.hash().should("eq", "#Connectors"); + }); + }); + + describe("Can visit connector info page", () => { + it("Can use page components", () => { + visitAdminUI(`datasets/${testDSID}/concepts/${testDSID}.concept1`); + cy.get('[data-test-id="accordion-Connectors"]') + .click() + .get(".d-flex > :nth-child(1) > a") + .click(); + + cy.location("pathname").should( + "equal", + `/admin-ui/datasets/${testDSID}/connectors/${testDSID}.concept1.column` + ); + }); + + it("Counts are right", () => { + visitAdminUI(`datasets/${testDSID}/connectors/${testDSID}.concept1.column`); + cy.get('[data-test-id="accordion-Filters"] > .card-header').contains("20 entries"); + cy.get('[data-test-id="accordion-Selects"] > .card-header').contains("16 entries"); + }); + }); + + describe("Connector page links work", () => { + beforeEach(() => { + visitAdminUI(`datasets/${testDSID}/connectors/${testDSID}.concept1.column`); + }); + + it("Goto datasets", () => { + cy.get(".breadcrumb > :nth-child(1) > a").click(); + cy.location("pathname").should("equal", `/admin-ui/datasets`); + }); + + it("Goto dataset", () => { + cy.get(".breadcrumb > :nth-child(2) > a").click(); + cy.location("pathname").should("equal", `/admin-ui/datasets/${testDSID}`); + }); + + it("Goto concepts", () => { + cy.get(".breadcrumb > :nth-child(3) > a").click(); + cy.location("pathname") + .should("equal", `/admin-ui/datasets/${testDSID}`) + .location("hash") + .should("equal", "#Concepts"); + }); + + it("Goto concept", () => { + cy.get(".breadcrumb > :nth-child(4) > a").click(); + cy.location("pathname").should( + "equal", + `/admin-ui/datasets/${testDSID}/concepts/${testDSID}.concept1` + ); + }); + + it("Goto connectors", () => { + cy.get(".breadcrumb > :nth-child(5) > a").click(); + cy.location("pathname") + .should("equal", `/admin-ui/datasets/${testDSID}/concepts/${testDSID}.concept1`) + .location("hash") + .should("equal", "#Connectors"); + }); + }); + + describe("Can delete test concept and table", () => { + beforeEach(() => visitAdminUI(`datasets/${testDSID}`)); + + it("Can delete test concept", () => { + cy.get('[data-test-id="accordion-Concepts"]').click(); + cy.get(`[data-test-id="delete-btn-concept-${testDSID}.concept1"]`).click({ force: true }); + cy.get(`[data-test-id="delete-btn-${testDSID}.concept1"]`).should("not.exist"); + }); + + it("Can delete test table", () => { + cy.get('[data-test-id="accordion-Tables"]').click(); + cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).click({ force: true }); + cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).should("not.exist"); + }); + + it("Can force delete test table", () => { + // reupload table and concept + cy.get('[data-test-id="upload-select"]').select("Table JSON"); + cy.get('[data-test-id="upload-input"]').selectFile( + "./cypress/support/test_data/all_types.table.json" + ); + cy.get('[data-test-id="upload-btn"]').click(); + cy.reload(); + cy.get('[data-test-id="upload-select"]').select("Concept JSON"); + cy.get('[data-test-id="upload-input"]').selectFile( + "./cypress/support/test_data/all_types.concept.json" + ); + cy.get('[data-test-id="upload-btn"]').click(); + cy.reload(); + + cy.get('[data-test-id="accordion-Tables"]').click(); + cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).click({ force: true }); + cy.get(`[data-test-id="toast-custom-button"]`).click({ force: true }); + cy.get(`[data-test-id="delete-btn-table-${testDSID}.table"]`).should("not.exist"); + }); + }); + + describe("Delete the test dataset", () => { + beforeEach(() => { + visitAdminUI("datasets"); + }); + + it("Can delete the test dataset", () => { + cy.get(`[data-test-id="delete-btn-${testDSID}"]`).click({ force: true }); + cy.contains(testDSID).should("not.exist"); + }); + }); +}); diff --git a/cypress/e2e/frontend/test_0_visitPage.cy.js b/cypress/e2e/frontend/test_0_visitPage.cy.js index ff12add0b6..7429e8d1f5 100644 --- a/cypress/e2e/frontend/test_0_visitPage.cy.js +++ b/cypress/e2e/frontend/test_0_visitPage.cy.js @@ -6,7 +6,7 @@ const USER_TOKEN_WITH_PERMISSIONS = "user.user2"; context("Visit conquery ", () => { describe("As authenticated user without permissions", () => { - before(() => { + beforeEach(() => { visitWithToken(USER_TOKEN_WITHOUT_PERMISSIONS); }); @@ -24,7 +24,7 @@ context("Visit conquery ", () => { }); describe("As authenticated user with permissions", () => { - before(() => { + beforeEach(() => { visitWithToken(USER_TOKEN_WITH_PERMISSIONS); }); diff --git a/cypress/e2e/frontend/test_1_runQuery.cy.js b/cypress/e2e/frontend/test_1_runQuery.cy.js index 79c1b659c5..810964c418 100644 --- a/cypress/e2e/frontend/test_1_runQuery.cy.js +++ b/cypress/e2e/frontend/test_1_runQuery.cy.js @@ -4,14 +4,12 @@ import { visitWithToken } from "../../integration-helpers/visitWithToken"; const USER_TOKEN_WITH_PERMISSIONS = "user.user2"; describe("Run query", () => { - before(() => { + beforeEach(() => { visitWithToken(USER_TOKEN_WITH_PERMISSIONS); }); it("Can execute query and see it in the queries tab", () => { - cy.get('[data-test-id="right-pane-container"] >div:visible').as( - "queryEditor", - ); + cy.get('[data-test-id="right-pane-container"] >div:visible').as("queryEditor"); cy.contains("Concept1").trigger("dragstart").trigger("dragleave"); cy.get("@queryEditor") diff --git a/cypress/e2e/frontend/test_2_visitFormEditor.cy.js b/cypress/e2e/frontend/test_2_visitFormEditor.cy.js index 68ae2cfc36..f69226873f 100644 --- a/cypress/e2e/frontend/test_2_visitFormEditor.cy.js +++ b/cypress/e2e/frontend/test_2_visitFormEditor.cy.js @@ -4,7 +4,7 @@ import { visitWithToken } from "../../integration-helpers/visitWithToken"; const USER_TOKEN_WITH_PERMISSIONS = "user.user2"; describe("Visit Form Editor", () => { - before(() => { + beforeEach(() => { visitWithToken(USER_TOKEN_WITH_PERMISSIONS); }); diff --git a/cypress/e2e/frontend/test_3_openHelpMenu.cy.js b/cypress/e2e/frontend/test_3_openHelpMenu.cy.js index 33f0d812f6..db8fd9ec56 100644 --- a/cypress/e2e/frontend/test_3_openHelpMenu.cy.js +++ b/cypress/e2e/frontend/test_3_openHelpMenu.cy.js @@ -4,16 +4,15 @@ import { visitWithToken } from "../../integration-helpers/visitWithToken"; const USER_TOKEN_WITH_PERMISSIONS = "user.user2"; describe("Visit Form Editor", () => { - before(() => { + beforeEach(() => { visitWithToken(USER_TOKEN_WITH_PERMISSIONS); }); it("Can open help menu", () => { - - cy.get('[data-test-id="help-menu"]').click() + cy.get('[data-test-id="help-menu"]').click(); cy.get('[data-test-id="help-manual"]').should("have.attr", "href", "https://example.org"); - + cy.get('[data-test-id="help-email"]').should("have.attr", "href", "mailto:test@example.org"); }); });