From 0214eb24886df280729de0356f238a7b3801a482 Mon Sep 17 00:00:00 2001 From: Niraj Nandish Date: Tue, 11 Oct 2022 18:40:25 +0530 Subject: [PATCH] feat: cypress 10 (#47886) Co-authored-by: Oliver Eyton-Williams --- .github/workflows/cypress-third-party.yml | 6 +- .github/workflows/cypress.yml | 6 +- cypress-install.js | 8 +- cypress.config.js | 25 +++++++ cypress.json | 6 -- .../default/ShowCertification.js | 0 .../{integration => e2e}/default/landing.js | 0 .../default/learn/challenge-hot-keys.js | 0 .../default/learn/challenges/backend.js | 0 .../default/learn/challenges/code-storage.js | 0 .../default/learn/challenges/codeally.js | 0 .../learn/challenges/failed-updates.js | 0 .../default/learn/challenges/multifile.js | 0 .../learn/challenges/multifileCertProject.js | 0 .../default/learn/challenges/output.js | 0 .../learn/challenges/project-preview.js | 0 .../default/learn/challenges/projects.js | 0 .../default/learn/challenges/sass.js | 0 .../learn/coding-interview-prep/intro-page.js | 0 .../default/learn/common-components/editor.js | 0 .../default/learn/common-components/footer.js | 0 .../learn/common-components/helpButton.js | 0 .../default/learn/common-components/navbar.js | 0 .../learn/common-components/searchBar.js | 0 .../learn/donate/donate-page-default.js | 0 .../default/learn/donate/donate-page-donor.js | 0 .../donate/donation-block-completion-modal.js | 0 .../learn/header/universal-navigation.js | 0 .../default/learn/index.js | 0 .../default/learn/redirects/breadcrumbs.js | 0 .../redirects/es6-to-basic-javascript.js | 0 .../learn/redirects/heading-challenge.js | 0 .../responsive-web-design/basic-css/index.js | 0 .../learn/responsive-web-design/intro-page.js | 0 .../show-cert-from-superblock.js | 0 .../legacy/redirects/adding-development.js | 0 .../default/legacy/redirects/challenges.js | 0 .../default/settings/certifications.js | 0 .../default/settings/email-change.js | 0 .../default/settings/image-picture-check.js | 0 .../default/settings/settings.js | 0 .../default/settings/user-token.js | 0 .../default/settings/username-change.js | 0 cypress/{integration => e2e}/default/tags.js | 0 .../default/top-contributor.js | 0 .../default/user/certifications.js | 0 .../default/user/privacy-terms.js | 0 .../default/user/report-user.js | 0 .../third-party/donate-page.js | 0 cypress/support/{index.js => e2e.js} | 0 package-lock.json | 73 +++++++++++++++---- package.json | 9 ++- 52 files changed, 99 insertions(+), 34 deletions(-) create mode 100644 cypress.config.js delete mode 100644 cypress.json rename cypress/{integration => e2e}/default/ShowCertification.js (100%) rename cypress/{integration => e2e}/default/landing.js (100%) rename cypress/{integration => e2e}/default/learn/challenge-hot-keys.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/backend.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/code-storage.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/codeally.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/failed-updates.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/multifile.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/multifileCertProject.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/output.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/project-preview.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/projects.js (100%) rename cypress/{integration => e2e}/default/learn/challenges/sass.js (100%) rename cypress/{integration => e2e}/default/learn/coding-interview-prep/intro-page.js (100%) rename cypress/{integration => e2e}/default/learn/common-components/editor.js (100%) rename cypress/{integration => e2e}/default/learn/common-components/footer.js (100%) rename cypress/{integration => e2e}/default/learn/common-components/helpButton.js (100%) rename cypress/{integration => e2e}/default/learn/common-components/navbar.js (100%) rename cypress/{integration => e2e}/default/learn/common-components/searchBar.js (100%) rename cypress/{integration => e2e}/default/learn/donate/donate-page-default.js (100%) rename cypress/{integration => e2e}/default/learn/donate/donate-page-donor.js (100%) rename cypress/{integration => e2e}/default/learn/donate/donation-block-completion-modal.js (100%) rename cypress/{integration => e2e}/default/learn/header/universal-navigation.js (100%) rename cypress/{integration => e2e}/default/learn/index.js (100%) rename cypress/{integration => e2e}/default/learn/redirects/breadcrumbs.js (100%) rename cypress/{integration => e2e}/default/learn/redirects/es6-to-basic-javascript.js (100%) rename cypress/{integration => e2e}/default/learn/redirects/heading-challenge.js (100%) rename cypress/{integration => e2e}/default/learn/responsive-web-design/basic-css/index.js (100%) rename cypress/{integration => e2e}/default/learn/responsive-web-design/intro-page.js (100%) rename cypress/{integration => e2e}/default/learn/responsive-web-design/show-cert-from-superblock.js (100%) rename cypress/{integration => e2e}/default/legacy/redirects/adding-development.js (100%) rename cypress/{integration => e2e}/default/legacy/redirects/challenges.js (100%) rename cypress/{integration => e2e}/default/settings/certifications.js (100%) rename cypress/{integration => e2e}/default/settings/email-change.js (100%) rename cypress/{integration => e2e}/default/settings/image-picture-check.js (100%) rename cypress/{integration => e2e}/default/settings/settings.js (100%) rename cypress/{integration => e2e}/default/settings/user-token.js (100%) rename cypress/{integration => e2e}/default/settings/username-change.js (100%) rename cypress/{integration => e2e}/default/tags.js (100%) rename cypress/{integration => e2e}/default/top-contributor.js (100%) rename cypress/{integration => e2e}/default/user/certifications.js (100%) rename cypress/{integration => e2e}/default/user/privacy-terms.js (100%) rename cypress/{integration => e2e}/default/user/report-user.js (100%) rename cypress/{integration => e2e}/third-party/donate-page.js (100%) rename cypress/support/{index.js => e2e.js} (100%) diff --git a/.github/workflows/cypress-third-party.yml b/.github/workflows/cypress-third-party.yml index 87349b8d57d..937fa078445 100644 --- a/.github/workflows/cypress-third-party.yml +++ b/.github/workflows/cypress-third-party.yml @@ -10,8 +10,6 @@ jobs: do-everything: name: Build runs-on: ubuntu-20.04 - strategy: - fail-fast: false services: mongodb: image: mongo:4 @@ -57,7 +55,7 @@ jobs: run: cp client-config/serve.json client/public/serve.json - name: Cypress run - uses: cypress-io/github-action@v2 + uses: cypress-io/github-action@v4 with: record: ${{ env.CYPRESS_RECORD_KEY != 0 }} start: npm run start-ci @@ -66,4 +64,4 @@ jobs: config: baseUrl=http://localhost:8000 browser: chrome headless: true - spec: cypress/integration/third-party/*.js + spec: cypress/e2e/third-party/*.js diff --git a/.github/workflows/cypress.yml b/.github/workflows/cypress.yml index 502e0ebc3b6..71aeb3e9dac 100644 --- a/.github/workflows/cypress.yml +++ b/.github/workflows/cypress.yml @@ -68,7 +68,7 @@ jobs: node-version: [16.x] include: - browsers: electron - spec: cypress/integration/learn/challenges/projects.js + spec: cypress/e2e/default/learn/challenges/projects.js services: mongodb: image: mongo:4 @@ -126,7 +126,7 @@ jobs: run: npm run seed - name: Cypress run - uses: cypress-io/github-action@v2 + uses: cypress-io/github-action@v4 with: record: ${{ env.CYPRESS_RECORD_KEY != 0 }} start: npm run start-ci @@ -137,4 +137,4 @@ jobs: headless: true spec: | ${{ matrix.spec }} - cypress/integration/default/**/*.js + cypress/e2e/default/**/*.js diff --git a/cypress-install.js b/cypress-install.js index 1cd9c4bb702..c4717db9833 100644 --- a/cypress-install.js +++ b/cypress-install.js @@ -1,12 +1,12 @@ -const util = require('cypress/lib/util'); +const pkg = require('cypress/package.json'); const execa = require('execa'); -const pkg = util.pkgVersion(); +const version = pkg.version; (async () => { - console.log('Installing Cypress ' + pkg); + console.log('Installing Cypress ' + version); await execa('npm', ['run', 'cypress:install'], { - env: { CYPRESS_INSTALL_BINARY: pkg } + env: { CYPRESS_INSTALL_BINARY: version } }); console.log('Cypress installed'); })(); diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 00000000000..41051f20f86 --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,25 @@ +const { execSync } = require('child_process'); +const { existsSync } = require('fs'); +const { defineConfig } = require('cypress'); + +module.exports = defineConfig({ + e2e: { + baseUrl: 'http://localhost:8000', + projectId: 'ke77ns', + retries: 4, + chromeWebSecurity: false, + experimentalWebKitSupport: true, + specPattern: 'cypress/e2e/default/**/*.js', + setupNodeEvents(on, config) { + config.env = config.env || {}; + on('before:run', () => { + if (!existsSync('./config/curriculum.json')) { + execSync('npm run build:curriculum'); + } + }); + + config.env.API_LOCATION = 'http://localhost:3000'; + return config; + } + } +}); diff --git a/cypress.json b/cypress.json deleted file mode 100644 index 0894fcec918..00000000000 --- a/cypress.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "projectId": "ke77ns", - "baseUrl": "http://localhost:8000", - "retries": 4, - "chromeWebSecurity": false -} diff --git a/cypress/integration/default/ShowCertification.js b/cypress/e2e/default/ShowCertification.js similarity index 100% rename from cypress/integration/default/ShowCertification.js rename to cypress/e2e/default/ShowCertification.js diff --git a/cypress/integration/default/landing.js b/cypress/e2e/default/landing.js similarity index 100% rename from cypress/integration/default/landing.js rename to cypress/e2e/default/landing.js diff --git a/cypress/integration/default/learn/challenge-hot-keys.js b/cypress/e2e/default/learn/challenge-hot-keys.js similarity index 100% rename from cypress/integration/default/learn/challenge-hot-keys.js rename to cypress/e2e/default/learn/challenge-hot-keys.js diff --git a/cypress/integration/default/learn/challenges/backend.js b/cypress/e2e/default/learn/challenges/backend.js similarity index 100% rename from cypress/integration/default/learn/challenges/backend.js rename to cypress/e2e/default/learn/challenges/backend.js diff --git a/cypress/integration/default/learn/challenges/code-storage.js b/cypress/e2e/default/learn/challenges/code-storage.js similarity index 100% rename from cypress/integration/default/learn/challenges/code-storage.js rename to cypress/e2e/default/learn/challenges/code-storage.js diff --git a/cypress/integration/default/learn/challenges/codeally.js b/cypress/e2e/default/learn/challenges/codeally.js similarity index 100% rename from cypress/integration/default/learn/challenges/codeally.js rename to cypress/e2e/default/learn/challenges/codeally.js diff --git a/cypress/integration/default/learn/challenges/failed-updates.js b/cypress/e2e/default/learn/challenges/failed-updates.js similarity index 100% rename from cypress/integration/default/learn/challenges/failed-updates.js rename to cypress/e2e/default/learn/challenges/failed-updates.js diff --git a/cypress/integration/default/learn/challenges/multifile.js b/cypress/e2e/default/learn/challenges/multifile.js similarity index 100% rename from cypress/integration/default/learn/challenges/multifile.js rename to cypress/e2e/default/learn/challenges/multifile.js diff --git a/cypress/integration/default/learn/challenges/multifileCertProject.js b/cypress/e2e/default/learn/challenges/multifileCertProject.js similarity index 100% rename from cypress/integration/default/learn/challenges/multifileCertProject.js rename to cypress/e2e/default/learn/challenges/multifileCertProject.js diff --git a/cypress/integration/default/learn/challenges/output.js b/cypress/e2e/default/learn/challenges/output.js similarity index 100% rename from cypress/integration/default/learn/challenges/output.js rename to cypress/e2e/default/learn/challenges/output.js diff --git a/cypress/integration/default/learn/challenges/project-preview.js b/cypress/e2e/default/learn/challenges/project-preview.js similarity index 100% rename from cypress/integration/default/learn/challenges/project-preview.js rename to cypress/e2e/default/learn/challenges/project-preview.js diff --git a/cypress/integration/default/learn/challenges/projects.js b/cypress/e2e/default/learn/challenges/projects.js similarity index 100% rename from cypress/integration/default/learn/challenges/projects.js rename to cypress/e2e/default/learn/challenges/projects.js diff --git a/cypress/integration/default/learn/challenges/sass.js b/cypress/e2e/default/learn/challenges/sass.js similarity index 100% rename from cypress/integration/default/learn/challenges/sass.js rename to cypress/e2e/default/learn/challenges/sass.js diff --git a/cypress/integration/default/learn/coding-interview-prep/intro-page.js b/cypress/e2e/default/learn/coding-interview-prep/intro-page.js similarity index 100% rename from cypress/integration/default/learn/coding-interview-prep/intro-page.js rename to cypress/e2e/default/learn/coding-interview-prep/intro-page.js diff --git a/cypress/integration/default/learn/common-components/editor.js b/cypress/e2e/default/learn/common-components/editor.js similarity index 100% rename from cypress/integration/default/learn/common-components/editor.js rename to cypress/e2e/default/learn/common-components/editor.js diff --git a/cypress/integration/default/learn/common-components/footer.js b/cypress/e2e/default/learn/common-components/footer.js similarity index 100% rename from cypress/integration/default/learn/common-components/footer.js rename to cypress/e2e/default/learn/common-components/footer.js diff --git a/cypress/integration/default/learn/common-components/helpButton.js b/cypress/e2e/default/learn/common-components/helpButton.js similarity index 100% rename from cypress/integration/default/learn/common-components/helpButton.js rename to cypress/e2e/default/learn/common-components/helpButton.js diff --git a/cypress/integration/default/learn/common-components/navbar.js b/cypress/e2e/default/learn/common-components/navbar.js similarity index 100% rename from cypress/integration/default/learn/common-components/navbar.js rename to cypress/e2e/default/learn/common-components/navbar.js diff --git a/cypress/integration/default/learn/common-components/searchBar.js b/cypress/e2e/default/learn/common-components/searchBar.js similarity index 100% rename from cypress/integration/default/learn/common-components/searchBar.js rename to cypress/e2e/default/learn/common-components/searchBar.js diff --git a/cypress/integration/default/learn/donate/donate-page-default.js b/cypress/e2e/default/learn/donate/donate-page-default.js similarity index 100% rename from cypress/integration/default/learn/donate/donate-page-default.js rename to cypress/e2e/default/learn/donate/donate-page-default.js diff --git a/cypress/integration/default/learn/donate/donate-page-donor.js b/cypress/e2e/default/learn/donate/donate-page-donor.js similarity index 100% rename from cypress/integration/default/learn/donate/donate-page-donor.js rename to cypress/e2e/default/learn/donate/donate-page-donor.js diff --git a/cypress/integration/default/learn/donate/donation-block-completion-modal.js b/cypress/e2e/default/learn/donate/donation-block-completion-modal.js similarity index 100% rename from cypress/integration/default/learn/donate/donation-block-completion-modal.js rename to cypress/e2e/default/learn/donate/donation-block-completion-modal.js diff --git a/cypress/integration/default/learn/header/universal-navigation.js b/cypress/e2e/default/learn/header/universal-navigation.js similarity index 100% rename from cypress/integration/default/learn/header/universal-navigation.js rename to cypress/e2e/default/learn/header/universal-navigation.js diff --git a/cypress/integration/default/learn/index.js b/cypress/e2e/default/learn/index.js similarity index 100% rename from cypress/integration/default/learn/index.js rename to cypress/e2e/default/learn/index.js diff --git a/cypress/integration/default/learn/redirects/breadcrumbs.js b/cypress/e2e/default/learn/redirects/breadcrumbs.js similarity index 100% rename from cypress/integration/default/learn/redirects/breadcrumbs.js rename to cypress/e2e/default/learn/redirects/breadcrumbs.js diff --git a/cypress/integration/default/learn/redirects/es6-to-basic-javascript.js b/cypress/e2e/default/learn/redirects/es6-to-basic-javascript.js similarity index 100% rename from cypress/integration/default/learn/redirects/es6-to-basic-javascript.js rename to cypress/e2e/default/learn/redirects/es6-to-basic-javascript.js diff --git a/cypress/integration/default/learn/redirects/heading-challenge.js b/cypress/e2e/default/learn/redirects/heading-challenge.js similarity index 100% rename from cypress/integration/default/learn/redirects/heading-challenge.js rename to cypress/e2e/default/learn/redirects/heading-challenge.js diff --git a/cypress/integration/default/learn/responsive-web-design/basic-css/index.js b/cypress/e2e/default/learn/responsive-web-design/basic-css/index.js similarity index 100% rename from cypress/integration/default/learn/responsive-web-design/basic-css/index.js rename to cypress/e2e/default/learn/responsive-web-design/basic-css/index.js diff --git a/cypress/integration/default/learn/responsive-web-design/intro-page.js b/cypress/e2e/default/learn/responsive-web-design/intro-page.js similarity index 100% rename from cypress/integration/default/learn/responsive-web-design/intro-page.js rename to cypress/e2e/default/learn/responsive-web-design/intro-page.js diff --git a/cypress/integration/default/learn/responsive-web-design/show-cert-from-superblock.js b/cypress/e2e/default/learn/responsive-web-design/show-cert-from-superblock.js similarity index 100% rename from cypress/integration/default/learn/responsive-web-design/show-cert-from-superblock.js rename to cypress/e2e/default/learn/responsive-web-design/show-cert-from-superblock.js diff --git a/cypress/integration/default/legacy/redirects/adding-development.js b/cypress/e2e/default/legacy/redirects/adding-development.js similarity index 100% rename from cypress/integration/default/legacy/redirects/adding-development.js rename to cypress/e2e/default/legacy/redirects/adding-development.js diff --git a/cypress/integration/default/legacy/redirects/challenges.js b/cypress/e2e/default/legacy/redirects/challenges.js similarity index 100% rename from cypress/integration/default/legacy/redirects/challenges.js rename to cypress/e2e/default/legacy/redirects/challenges.js diff --git a/cypress/integration/default/settings/certifications.js b/cypress/e2e/default/settings/certifications.js similarity index 100% rename from cypress/integration/default/settings/certifications.js rename to cypress/e2e/default/settings/certifications.js diff --git a/cypress/integration/default/settings/email-change.js b/cypress/e2e/default/settings/email-change.js similarity index 100% rename from cypress/integration/default/settings/email-change.js rename to cypress/e2e/default/settings/email-change.js diff --git a/cypress/integration/default/settings/image-picture-check.js b/cypress/e2e/default/settings/image-picture-check.js similarity index 100% rename from cypress/integration/default/settings/image-picture-check.js rename to cypress/e2e/default/settings/image-picture-check.js diff --git a/cypress/integration/default/settings/settings.js b/cypress/e2e/default/settings/settings.js similarity index 100% rename from cypress/integration/default/settings/settings.js rename to cypress/e2e/default/settings/settings.js diff --git a/cypress/integration/default/settings/user-token.js b/cypress/e2e/default/settings/user-token.js similarity index 100% rename from cypress/integration/default/settings/user-token.js rename to cypress/e2e/default/settings/user-token.js diff --git a/cypress/integration/default/settings/username-change.js b/cypress/e2e/default/settings/username-change.js similarity index 100% rename from cypress/integration/default/settings/username-change.js rename to cypress/e2e/default/settings/username-change.js diff --git a/cypress/integration/default/tags.js b/cypress/e2e/default/tags.js similarity index 100% rename from cypress/integration/default/tags.js rename to cypress/e2e/default/tags.js diff --git a/cypress/integration/default/top-contributor.js b/cypress/e2e/default/top-contributor.js similarity index 100% rename from cypress/integration/default/top-contributor.js rename to cypress/e2e/default/top-contributor.js diff --git a/cypress/integration/default/user/certifications.js b/cypress/e2e/default/user/certifications.js similarity index 100% rename from cypress/integration/default/user/certifications.js rename to cypress/e2e/default/user/certifications.js diff --git a/cypress/integration/default/user/privacy-terms.js b/cypress/e2e/default/user/privacy-terms.js similarity index 100% rename from cypress/integration/default/user/privacy-terms.js rename to cypress/e2e/default/user/privacy-terms.js diff --git a/cypress/integration/default/user/report-user.js b/cypress/e2e/default/user/report-user.js similarity index 100% rename from cypress/integration/default/user/report-user.js rename to cypress/e2e/default/user/report-user.js diff --git a/cypress/integration/third-party/donate-page.js b/cypress/e2e/third-party/donate-page.js similarity index 100% rename from cypress/integration/third-party/donate-page.js rename to cypress/e2e/third-party/donate-page.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 diff --git a/package-lock.json b/package-lock.json index b48a61397a5..6c85002358f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -72,7 +72,7 @@ "babel-eslint": "10.1.0", "babel-plugin-transform-imports": "2.0.0", "cross-env": "7.0.3", - "cypress": "9.7.0", + "cypress": "10.8.0", "cypress-plugin-stripe-elements": "1.0.2", "docsify-cli": "4.4.4", "eslint": "7.32.0", @@ -96,6 +96,7 @@ "mock-fs": "5.1.4", "npm-run-all": "4.1.5", "ora": "5.4.1", + "playwright-webkit": "^1.25.2", "prettier": "2.7.1", "prismjs": "1.29.0", "process": "0.11.10", @@ -21481,9 +21482,9 @@ "dev": true }, "node_modules/cypress": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", - "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.8.0.tgz", + "integrity": "sha512-QVse0dnLm018hgti2enKMVZR9qbIO488YGX06nH5j3Dg1isL38DwrBtyrax02CANU6y8F4EJUuyW6HJKw1jsFA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -21506,7 +21507,7 @@ "dayjs": "^1.10.4", "debug": "^4.3.2", "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", @@ -24622,9 +24623,10 @@ } }, "node_modules/eventemitter2": { - "version": "6.4.5", - "dev": true, - "license": "MIT" + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true }, "node_modules/eventemitter3": { "version": "4.0.7", @@ -40906,6 +40908,34 @@ "version": "1.3.6", "license": "MIT" }, + "node_modules/playwright-core": { + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.2.tgz", + "integrity": "sha512-0yTbUE9lIddkEpLHL3u8PoCL+pWiZtj5A/j3U7YoNjcmKKDGBnCrgHJMzwd2J5vy6l28q4ki3JIuz7McLHhl1A==", + "dev": true, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/playwright-webkit": { + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/playwright-webkit/-/playwright-webkit-1.25.2.tgz", + "integrity": "sha512-MpSshLT2XhNpc8DrzKOE1HysO+v73wumY0KrkexQJ01UDqGWd+9oPc02Qz36IcqU8fyOqaGRNRoaacdpf1SmRA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "playwright-core": "1.25.2" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -70271,9 +70301,9 @@ "dev": true }, "cypress": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-9.7.0.tgz", - "integrity": "sha512-+1EE1nuuuwIt/N1KXRR2iWHU+OiIt7H28jJDyyI4tiUftId/DrXYEwoDa5+kH2pki1zxnA0r6HrUGHV5eLbF5Q==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-10.8.0.tgz", + "integrity": "sha512-QVse0dnLm018hgti2enKMVZR9qbIO488YGX06nH5j3Dg1isL38DwrBtyrax02CANU6y8F4EJUuyW6HJKw1jsFA==", "dev": true, "requires": { "@cypress/request": "^2.88.10", @@ -70295,7 +70325,7 @@ "dayjs": "^1.10.4", "debug": "^4.3.2", "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", @@ -72374,7 +72404,9 @@ "version": "5.0.1" }, "eventemitter2": { - "version": "6.4.5", + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, "eventemitter3": { @@ -83054,6 +83086,21 @@ "platform": { "version": "1.3.6" }, + "playwright-core": { + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.2.tgz", + "integrity": "sha512-0yTbUE9lIddkEpLHL3u8PoCL+pWiZtj5A/j3U7YoNjcmKKDGBnCrgHJMzwd2J5vy6l28q4ki3JIuz7McLHhl1A==", + "dev": true + }, + "playwright-webkit": { + "version": "1.25.2", + "resolved": "https://registry.npmjs.org/playwright-webkit/-/playwright-webkit-1.25.2.tgz", + "integrity": "sha512-MpSshLT2XhNpc8DrzKOE1HysO+v73wumY0KrkexQJ01UDqGWd+9oPc02Qz36IcqU8fyOqaGRNRoaacdpf1SmRA==", + "dev": true, + "requires": { + "playwright-core": "1.25.2" + } + }, "pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", diff --git a/package.json b/package.json index 4686fed7109..420e1fbe880 100644 --- a/package.json +++ b/package.json @@ -55,12 +55,12 @@ "create:utils": "tsc -p utils", "precypress": "node ./cypress-install.js", "cypress": "cypress", - "cypress:dev:run": "npm run cypress -- run --spec cypress/integration/default/**/*.js", + "cypress:dev:run": "npm run cypress -- run --spec cypress/e2e/default/**/*.js", "cypress:dev:watch": "npm run cypress -- open", + "cypress:prd:run": "npm run cypress -- run --spec cypress/e2e/default/**/*.js", + "cypress:prd:watch": "npm run cypress -- open", "cypress:install": "cypress install && echo 'for use with ./cypress-install.js'", "cypress:install-build-tools": "sh ./cypress-install.sh", - "cypress:prd:run": "npm run cypress -- run --spec cypress/integration/default/**/*.js", - "cypress:prd:watch": "npm run cypress -- open", "predevelop": "npm-run-all create:*", "develop": "npm-run-all build:curriculum -p develop:*", "develop:client": "npm run build:curriculum && cd ./client && npm run develop", @@ -152,7 +152,7 @@ "babel-eslint": "10.1.0", "babel-plugin-transform-imports": "2.0.0", "cross-env": "7.0.3", - "cypress": "9.7.0", + "cypress": "10.8.0", "cypress-plugin-stripe-elements": "1.0.2", "docsify-cli": "4.4.4", "eslint": "7.32.0", @@ -176,6 +176,7 @@ "mock-fs": "5.1.4", "npm-run-all": "4.1.5", "ora": "5.4.1", + "playwright-webkit": "^1.25.2", "prettier": "2.7.1", "prismjs": "1.29.0", "process": "0.11.10",