diff --git a/.eslintignore b/.eslintignore index 907b3c5f0a..84a4d07038 100644 --- a/.eslintignore +++ b/.eslintignore @@ -14,6 +14,21 @@ **/support/fixtures/projects/**/static/* **/support/fixtures/projects/**/*.jsx **/support/fixtures/projects/**/fail.js + +system-tests/fixtures/* +!system-tests/projects +system-tests/projects/**/_fixtures/* +system-tests/projects/**/static/* +system-tests/projects/**/*.jsx +system-tests/projects/**/fail.js +system-tests/lib/scaffold/plugins/index.js +system-tests/lib/scaffold/support/index.js +system-tests/lib/scaffold/support/commands.js +system-tests/test/support/projects/e2e/cypress/ +system-tests/projects/e2e/cypress/integration/stdout_exit_early_failing_spec.js +system-tests/projects/e2e/cypress/integration/typescript_syntax_error_spec.ts + + **/test/fixtures **/vendor @@ -23,11 +38,7 @@ cli/types packages/example packages/extension/test/helpers/background.js -packages/server/lib/scaffold/plugins/index.js -packages/server/lib/scaffold/support/index.js -packages/server/lib/scaffold/support/commands.js -packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_exit_early_failing_spec.js -packages/server/test/support/fixtures/projects/e2e/cypress/integration/typescript_syntax_error_spec.ts +integration/stdout_exit_early_failing_spec.js npm/webpack-preprocessor/cypress/tests/e2e/compile-error.js npm/webpack-preprocessor/examples/use-babelrc/cypress/integration/spec.js diff --git a/.gitignore b/.gitignore index 1117ea700d..bcf831bbbf 100644 --- a/.gitignore +++ b/.gitignore @@ -40,6 +40,10 @@ packages/server/support packages/server/test/support/fixtures/server/imgs packages/server/test/support/fixtures/server/libs +# from system-tests +system-tests/.projects +system-tests/fixtures/large-img + # from npm/react /npm/react/bin/* /npm/react/cypress/videos diff --git a/.vscode/terminals.json b/.vscode/terminals.json index bb5b56b9f0..27f9a82ccf 100644 --- a/.vscode/terminals.json +++ b/.vscode/terminals.json @@ -24,12 +24,20 @@ "command": "yarn cypress:run --project ../project" }, { - "name": "packages/server test-e2e", + "name": "cypress open (CT)", + "focus": true, + "onlySingle": true, + "execute": true, + "cwd": "[cwd]/packages/server-ct", + "command": "yarn cypress:open" + }, + { + "name": "system-tests test", "focus": true, "onlySingle": true, "execute": false, - "cwd": "[cwd]/packages/server", - "command": "yarn test-e2e [fileBasename]" + "cwd": "[cwd]/system-tests", + "command": "yarn test [fileBasename]" }, { "name": "packages/server test-watch", diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fb3e31bdb0..4431772b6d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -396,6 +396,7 @@ By default, top level tasks will execute for all packages. However, most scripts | `test-unit` | Run unit tests | | `test-integration` | Run integration tests | | `test-e2e` | Run end-to-end tests | +| `test-system` | Run system tests | | `test-watch` | Run unit tests and rebuild/rerun on file changes | > Most of the time you will only want to run a task within a specific package; this can be done by providing the package name as a scope to the top level task. @@ -428,7 +429,6 @@ Each package is responsible for building itself and testing itself and can do so | `test` | Runs all tests once (this usually means running unit tests; via `yarn test-unit`) | | `test-unit` | Run all unit tests within the package; `exit 0` if N/A | | `test-integration` | Run all integration tests within the package; `exit 0` if N/A | -| `test-e2e` | Run all e2e tests within the package; `exit 0` if N/A | | `test-watch` | Run all unit tests in the package in watch mode | #### Debugging @@ -486,12 +486,12 @@ This is to ensure that links do not go dead in older versions of Cypress when th For most packages there are typically unit and integration tests. -Our true e2e tests are in [`packages/server`](packages/server), which test the full stack all together. +Please refer to each packages' `README.md` which documents how to run tests. It is not feasible to try to run all of the tests together. We run our entire test fleet across over a dozen containers in CI. + +There are also a set of system tests in [`system-tests`](system-tests) which attempt to test the entire Cypress App as close to real world as possible. See the [`README`](system-tests/README.md) for more information. Additionally, we test the code by running it against various other example projects in CI. See CI badges and links at the top of this document. -Please refer to each packages' `README.md` which documents how to run tests. It is not feasible to try to run all of the tests together. We run our entire test fleet across over a dozen containers in CI. - If you're curious how we manage all of these tests in CI check out our [`circle.yml`](circle.yml) file found in the root `cypress` directory. #### Docker diff --git a/circle.yml b/circle.yml index 300659ceaa..4de0c815fc 100644 --- a/circle.yml +++ b/circle.yml @@ -112,6 +112,7 @@ commands: mkdir -p /tmp/node_modules_cache mv ~/cypress/node_modules /tmp/node_modules_cache/root_node_modules mv ~/cypress/cli/node_modules /tmp/node_modules_cache/cli_node_modules + mv ~/cypress/system-tests/node_modules /tmp/node_modules_cache/system-tests_node_modules mv ~/cypress/globbed_node_modules /tmp/node_modules_cache/globbed_node_modules build-and-persist: @@ -142,6 +143,7 @@ commands: if [[ -d "/tmp/node_modules_cache" ]]; then mv /tmp/node_modules_cache/root_node_modules ~/cypress/node_modules mv /tmp/node_modules_cache/cli_node_modules ~/cypress/cli/node_modules + mv /tmp/node_modules_cache/system-tests_node_modules ~/cypress/system-tests/node_modules mv /tmp/node_modules_cache/globbed_node_modules ~/cypress/globbed_node_modules rm -rf /tmp/node_modules_cache fi @@ -194,6 +196,7 @@ commands: paths: - node_modules - cli/node_modules + - system-tests/node_modules - globbed_node_modules - unless: condition: <> @@ -417,7 +420,7 @@ commands: path: ./packages/runner-ct/cypress/videos - store-npm-logs - run-e2e-tests: + run-system-tests: parameters: browser: description: browser shortname to target @@ -425,8 +428,9 @@ commands: steps: - restore_cached_workspace - run: + name: Run system tests command: | - ALL_SPECS=`circleci tests glob "/root/cypress/packages/server/test/e2e/*spec*"` + ALL_SPECS=`circleci tests glob "/root/cypress/system-tests/test/*spec*"` SPECS= for file in $ALL_SPECS; do # filter out non_root tests, they have their own stage @@ -438,7 +442,7 @@ commands: done SPECS=`echo $SPECS | xargs -n 1 | circleci tests split --split-by=timings` echo SPECS=$SPECS - yarn workspace @packages/server test $SPECS --browser <> + yarn workspace @tooling/system-tests test:ci $SPECS --browser <> - verify-mocha-results - store_test_results: path: /tmp/cypress @@ -1080,37 +1084,37 @@ jobs: path: /tmp/artifacts - store-npm-logs - server-e2e-tests-chrome: + system-tests-chrome: <<: *defaults resource_class: medium parallelism: 8 steps: - - run-e2e-tests: + - run-system-tests: browser: chrome - server-e2e-tests-electron: + system-tests-electron: <<: *defaults resource_class: medium parallelism: 8 steps: - - run-e2e-tests: + - run-system-tests: browser: electron - server-e2e-tests-firefox: + system-tests-firefox: <<: *defaults resource_class: medium parallelism: 8 steps: - - run-e2e-tests: + - run-system-tests: browser: firefox - server-e2e-tests-non-root: + system-tests-non-root: <<: *defaults resource_class: medium steps: - restore_cached_workspace - run: - command: yarn workspace @packages/server test ./test/e2e/non_root*spec* --browser electron + command: yarn workspace @tooling/system-tests test:ci "test/non_root*spec*" --browser electron - verify-mocha-results - store_test_results: path: /tmp/cypress @@ -2007,16 +2011,16 @@ linux-workflow: &linux-workflow - server-performance-tests: requires: - build - - server-e2e-tests-chrome: + - system-tests-chrome: requires: - build - - server-e2e-tests-electron: + - system-tests-electron: requires: - build - - server-e2e-tests-firefox: + - system-tests-firefox: requires: - build - - server-e2e-tests-non-root: + - system-tests-non-root: executor: non-root-docker-user requires: - build @@ -2123,10 +2127,10 @@ linux-workflow: &linux-workflow - driver-integration-tests-firefox - driver-integration-tests-chrome - driver-integration-tests-electron - - server-e2e-tests-non-root - - server-e2e-tests-firefox - - server-e2e-tests-electron - - server-e2e-tests-chrome + - system-tests-non-root + - system-tests-firefox + - system-tests-electron + - system-tests-chrome - server-performance-tests - server-integration-tests - server-unit-tests diff --git a/lerna.json b/lerna.json index e0eaa3cfb9..e541ef2d73 100644 --- a/lerna.json +++ b/lerna.json @@ -3,7 +3,8 @@ "packages": [ "cli", "packages/*", - "npm/*" + "npm/*", + "system-tests" ], "useWorkspaces": true, "version": "0.0.0" diff --git a/npm/webpack-preprocessor/index.ts b/npm/webpack-preprocessor/index.ts index 88e3a51a17..c5d68fd3e9 100644 --- a/npm/webpack-preprocessor/index.ts +++ b/npm/webpack-preprocessor/index.ts @@ -268,6 +268,11 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F const jsonStats = stats.toJson() + // these stats are really only useful for debugging + if (jsonStats.warnings.length > 0) { + debug(`warnings for ${outputPath} %o`, jsonStats.warnings) + } + if (stats.hasErrors()) { err = new Error('Webpack Compilation Error') @@ -279,17 +284,11 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F err.message += `\n${errorsToAppend}` - debug('stats had error(s)') + debug('stats had error(s) %o', jsonStats.errors) return rejectWithErr(err) } - // these stats are really only useful for debugging - if (jsonStats.warnings.length > 0) { - debug(`warnings for ${outputPath}`) - debug(jsonStats.warnings) - } - debug('finished bundling', outputPath) if (debugStats.enabled) { /* eslint-disable-next-line no-console */ diff --git a/npm/webpack-preprocessor/test/e2e/helpers.js b/npm/webpack-preprocessor/test/e2e/helpers.js index c7821acc0d..0e6581f6c4 100644 --- a/npm/webpack-preprocessor/test/e2e/helpers.js +++ b/npm/webpack-preprocessor/test/e2e/helpers.js @@ -83,7 +83,7 @@ exports.runTest = async (options = {}) => { VIDEO_COMPRESSION_THROTTLE: 120000, // don't fail our own tests running from forked PR's - CYPRESS_INTERNAL_E2E_TESTS: '1', + CYPRESS_INTERNAL_SYSTEM_TESTS: '1', CYPRESS_ENV: 'test', }) diff --git a/package.json b/package.json index 0fcec7af64..9b9045505a 100644 --- a/package.json +++ b/package.json @@ -49,12 +49,12 @@ "test": "yarn lerna exec yarn test --scope cypress --scope \"'@packages/{electron,extension,https-proxy,launcher,net-stubbing,network,proxy,rewriter,runner,runner-shared,socket}'\"", "test-debug": "lerna exec yarn test-debug --ignore \"'@packages/{desktop-gui,driver,root,static,web-config}'\"", "pretest-e2e": "yarn ensure-deps", - "test-e2e": "lerna exec yarn test-e2e --ignore \"'@packages/{desktop-gui,driver,root,static,web-config}'\"", "test-integration": "lerna exec yarn test-integration --ignore \"'@packages/{desktop-gui,driver,root,static,web-config}'\"", "test-mocha": "mocha --reporter spec scripts/spec.js", "test-mocha-snapshot": "mocha scripts/mocha-snapshot-spec.js", "test-npm-package-release-script": "npx lerna exec --scope \"@cypress/*\" -- npx --no-install semantic-release --dry-run", "test-s3-api": "node -r ./packages/ts/register scripts/binary/s3-api-demo.ts", + "test-system": "yarn workspace @tooling/system-tests test", "test-scripts": "mocha -r packages/ts/register --reporter spec 'scripts/unit/**/*spec.js'", "test-scripts-watch": "yarn test-scripts --watch --watch-extensions 'ts,js'", "pretest-unit": "yarn ensure-deps", @@ -224,7 +224,8 @@ "packages": [ "cli", "packages/*", - "npm/*" + "npm/*", + "system-tests" ], "nohoist": [ "**/@ffmpeg-installer", diff --git a/packages/runner/cypress/fixtures/errors/exceptions_spec.js b/packages/runner/cypress/fixtures/errors/exceptions_spec.js index ec61175d6b..605c9a5091 100644 --- a/packages/runner/cypress/fixtures/errors/exceptions_spec.js +++ b/packages/runner/cypress/fixtures/errors/exceptions_spec.js @@ -1,6 +1,6 @@ import './setup' -const outsideError = require('../../../../server/test/support/fixtures/projects/todos/throws-error') +const outsideError = require('@tooling/system-tests/projects/todos/throws-error') describe('exception failures', () => { it('in spec file', () => { diff --git a/packages/server/README.md b/packages/server/README.md index 286f09925b..85c879d198 100644 --- a/packages/server/README.md +++ b/packages/server/README.md @@ -39,7 +39,6 @@ yarn workspace @packages/server build-prod * `yarn test-unit` executes unit tests in [`test/unit`](./test/unit) * `yarn test-integration` executes integration tests in [`test/integration`](./test/integration) * `yarn test-performance` executes performance tests in [`test/performance`](./test/performance) -* `yarn test-e2e` executes the large (slow) end to end tests in [`test/e2e`](./test/e2e) You can also use the `test-watch` command to rerun a test file whenever there is a change: @@ -47,8 +46,6 @@ You can also use the `test-watch` command to rerun a test file whenever there is yarn test-watch /test/path/to/spec.js ``` -When running e2e tests, some test projects output verbose logs. To see them run the test with `DEBUG=cypress:e2e` environment variable. - ### Running individual unit tests ```bashtest-kitchensink @@ -67,19 +64,9 @@ yarn test test/integration/cli_spec.js yarn test-integration cli_spec ## shorthand, uses globbing to find spec ``` -### Running individual e2e tests +### Running e2e/system tests -```bash -yarn test -yarn test test/e2e/1_async_timeouts_spec.js -## or -yarn test-e2e async_timeouts ## shorthand, uses globbing to find spec -``` - -To keep the browser open after a spec run (for easier debugging and iterating on specs), you can pass the `--no-exit` flag to the e2e test command. Live reloading due to spec changes should also work: -```sh -yarn test test/e2e/go_spec.js --browser chrome --no-exit -``` +> With the addition of Component Testing, `e2e` tests have been renamed to `system-tests` and moved to the [`system-tests`](../../system-tests) directory. ### Updating snaphots @@ -88,5 +75,4 @@ Prepend `SNAPSHOT_UPDATE=1` to any test command. See [`snap-shot-it` instruction ```bash SNAPSHOT_UPDATE=1 yarn test test/unit/api_spec.js SNAPSHOT_UPDATE=1 yarn test test/integration/cli_spec.js -SNAPSHOT_UPDATE=1 yarn test-e2e async_timeout ``` diff --git a/packages/server/lib/modes/record.js b/packages/server/lib/modes/record.js index cf38fe303f..7fae7dd0dc 100644 --- a/packages/server/lib/modes/record.js +++ b/packages/server/lib/modes/record.js @@ -32,7 +32,7 @@ const logException = (err) => { // dont yell about any errors either const runningInternalTests = () => { - return env.get('CYPRESS_INTERNAL_E2E_TESTS') === '1' + return env.get('CYPRESS_INTERNAL_SYSTEM_TESTS') === '1' } const haveProjectIdAndKeyButNoRecordOption = (projectId, options) => { diff --git a/packages/server/lib/repl.js b/packages/server/lib/repl.js deleted file mode 100644 index 9ad0e26ea6..0000000000 --- a/packages/server/lib/repl.js +++ /dev/null @@ -1,54 +0,0 @@ -require('./environment') - -const _ = require('lodash') -const path = require('path') -const repl = require('repl') -const history = require('repl.history') -const browsers = require('./browsers') -const Fixtures = require('../test/support/helpers/fixtures') - -const replServer = repl.start({ - prompt: '> ', -}) - -let setContext - -// preserve the repl history -history(replServer, path.join(process.env.HOME, '.node_history')) - -const req = replServer.context.require - -const getObj = function () { - const deploy = require('../deploy') - - return { - lodash: _, - deploy, - darwin: deploy.getPlatform('darwin'), - linux: deploy.getPlatform('linux'), - Fixtures, - browsers, - - reload () { - let key - - for (key in require.cache) { - delete require.cache[key] - } - - for (key in req.cache) { - delete req.cache[key] - } - - return setContext() - }, - - r (file) { - return require(file) - }, - } -}; - -(setContext = () => { - return _.extend(replServer.context, getObj()) -})() diff --git a/packages/server/package.json b/packages/server/package.json index 9988d819ff..2e9b5cd098 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -13,7 +13,6 @@ "repl": "node repl.js", "start": "node ../../scripts/cypress open --dev --global", "test": "node ./test/scripts/run.js", - "test-e2e": "node ./test/scripts/run.js --glob-in-dir=test/e2e", "test-integration": "node ./test/scripts/run.js --glob-in-dir=test/integration", "test-performance": "node ./test/scripts/run.js --glob-in-dir=test/performance", "test-unit": "node ./test/scripts/run.js --glob-in-dir=test/unit", @@ -143,6 +142,7 @@ "@packages/root": "0.0.0-development", "@packages/socket": "0.0.0-development", "@packages/ts": "0.0.0-development", + "@tooling/system-tests": "0.0.0-development", "@types/chai-as-promised": "7.1.2", "@types/chrome": "0.0.101", "@types/http-proxy": "1.17.4", diff --git a/packages/server/repl.js b/packages/server/repl.js deleted file mode 100644 index b7233d76d8..0000000000 --- a/packages/server/repl.js +++ /dev/null @@ -1,2 +0,0 @@ -require('@packages/ts/register') -require('./lib/repl') diff --git a/packages/server/test/integration/cypress_spec.js b/packages/server/test/integration/cypress_spec.js index c618ff5f8e..7a4d14fff8 100644 --- a/packages/server/test/integration/cypress_spec.js +++ b/packages/server/test/integration/cypress_spec.js @@ -9,7 +9,7 @@ const http = require('http') const Promise = require('bluebird') const electron = require('electron') const commitInfo = require('@cypress/commit-info') -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const snapshot = require('snap-shot-it') const stripAnsi = require('strip-ansi') const debug = require('debug')('test') diff --git a/packages/server/test/integration/http_requests_spec.js b/packages/server/test/integration/http_requests_spec.js index 96a4de7a44..996aef1b44 100644 --- a/packages/server/test/integration/http_requests_spec.js +++ b/packages/server/test/integration/http_requests_spec.js @@ -30,7 +30,7 @@ const resolve = require(`${root}lib/util/resolve`) const { fs } = require(`${root}lib/util/fs`) const glob = require(`${root}lib/util/glob`) const CacheBuster = require(`${root}lib/util/cache_buster`) -const Fixtures = require(`${root}test/support/helpers/fixtures`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') /** * @type {import('@packages/resolve-dist')} */ diff --git a/packages/server/test/integration/plugins_spec.js b/packages/server/test/integration/plugins_spec.js index b32418a058..a15d4fd17e 100644 --- a/packages/server/test/integration/plugins_spec.js +++ b/packages/server/test/integration/plugins_spec.js @@ -1,7 +1,7 @@ require('../spec_helper') const plugins = require('../../lib/plugins') -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const pluginsFile = Fixtures.projectPath('plugin-before-browser-launch-deprecation/cypress/plugins/index.js') diff --git a/packages/server/test/integration/server_spec.js b/packages/server/test/integration/server_spec.js index 9cad9400ec..a495d8c9b8 100644 --- a/packages/server/test/integration/server_spec.js +++ b/packages/server/test/integration/server_spec.js @@ -10,7 +10,7 @@ const config = require(`${root}lib/config`) const { ServerE2E } = require(`${root}lib/server-e2e`) const { SocketE2E } = require(`${root}lib/socket-e2e`) const { SpecsStore } = require(`${root}/lib/specs-store`) -const Fixtures = require(`${root}test/support/helpers/fixtures`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') const { createRoutes } = require(`${root}lib/routes`) const s3StaticHtmlUrl = 'https://s3.amazonaws.com/internal-test-runner-assets.cypress.io/index.html' diff --git a/packages/server/test/integration/websockets_spec.js b/packages/server/test/integration/websockets_spec.js index 915ac4c9de..645cf1a045 100644 --- a/packages/server/test/integration/websockets_spec.js +++ b/packages/server/test/integration/websockets_spec.js @@ -12,7 +12,7 @@ const { ServerE2E } = require(`${root}lib/server-e2e`) const { SocketE2E } = require(`${root}lib/socket-e2e`) const { SpecsStore } = require(`${root}/lib/specs-store`) const { Automation } = require(`${root}lib/automation`) -const Fixtures = require(`${root}/test/support/helpers/fixtures`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') const { createRoutes } = require(`${root}lib/routes`) const cyPort = 12345 diff --git a/packages/server/test/performance/cy_visit_performance_spec.js b/packages/server/test/performance/cy_visit_performance_spec.js index b573420922..8d6c2c620d 100644 --- a/packages/server/test/performance/cy_visit_performance_spec.js +++ b/packages/server/test/performance/cy_visit_performance_spec.js @@ -1,10 +1,10 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('@tooling/system-tests/lib/system-tests').default // https://github.com/cypress-io/cypress/issues/4313 context('cy.visit performance tests', function () { this.retries(3) - e2e.setup({ + systemTests.setup({ servers: { port: 3434, onServer (app) { @@ -27,7 +27,7 @@ context('cy.visit performance tests', function () { return stdout.replace(/^\d+%\s+of visits to [^\s]+ finished in less than.*$/gm, 'histogram line') } - e2e.it('passes', { + systemTests.it('passes', { onStdout, spec: 'fast_visit_spec.js', snapshot: true, diff --git a/packages/server/test/performance/proxy_performance_spec.js b/packages/server/test/performance/proxy_performance_spec.js index 9762623d9b..6a281b2a8e 100644 --- a/packages/server/test/performance/proxy_performance_spec.js +++ b/packages/server/test/performance/proxy_performance_spec.js @@ -9,7 +9,7 @@ const { expect } = require('chai') const debug = require('debug')('test:proxy-performance') const DebuggingProxy = require('@cypress/debugging-proxy') const HarCapturer = require('chrome-har-capturer') -const performance = require('../support/helpers/performance') +const performance = require('@tooling/system-tests/lib/performance') const Promise = require('bluebird') const sanitizeFilename = require('sanitize-filename') const { createRoutes } = require(`${root}lib/routes`) diff --git a/packages/server/test/support/fixtures/projects/system-node/cypress/integration/spec.js b/packages/server/test/support/fixtures/projects/system-node/cypress/integration/spec.js deleted file mode 100644 index 26153f9bff..0000000000 --- a/packages/server/test/support/fixtures/projects/system-node/cypress/integration/spec.js +++ /dev/null @@ -1,5 +0,0 @@ -it('has expected resolvedNodePath and resolvedNodeVersion', () => { - expect(Cypress.config('nodeVersion')).to.eq('system') - expect(Cypress.config('resolvedNodePath')).to.eq(Cypress.env('expectedNodePath')) - expect(Cypress.config('resolvedNodeVersion')).to.eq(Cypress.env('expectedNodeVersion')) -}) diff --git a/packages/server/test/support/helpers/gzip.js b/packages/server/test/support/helpers/gzip.js deleted file mode 100644 index 9fd00af034..0000000000 --- a/packages/server/test/support/helpers/gzip.js +++ /dev/null @@ -1,15 +0,0 @@ -const fs = require('fs') -const zlib = require('zlib') -const path = require('path') - -const src = path.join('test/support/fixtures/projects/e2e/static/FiraSans-Regular.woff') -const dest = path.join('test/support/fixtures/projects/e2e/static/FiraSans-Regular.woff.gz') - -fs.readFile(src, (err, buf) => { - zlib.gzip(buf, (err, zipped) => { - console.log(dest) - fs.writeFile(dest, zipped, (err, bytes) => { - console.log(err, bytes) - }) - }) -}) diff --git a/packages/server/test/unit/cache_spec.js b/packages/server/test/unit/cache_spec.js index b445df08dc..8372b89770 100644 --- a/packages/server/test/unit/cache_spec.js +++ b/packages/server/test/unit/cache_spec.js @@ -4,7 +4,7 @@ require(`${root}lib/cwd`) const Promise = require('bluebird') const cache = require(`${root}lib/cache`) const { fs } = require(`${root}lib/util/fs`) -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') describe('lib/cache', () => { beforeEach(() => { diff --git a/packages/server/test/unit/config_spec.js b/packages/server/test/unit/config_spec.js index 0d35983df6..8a712138ff 100644 --- a/packages/server/test/unit/config_spec.js +++ b/packages/server/test/unit/config_spec.js @@ -1,7 +1,6 @@ require('../spec_helper') const _ = require('lodash') -const path = require('path') const R = require('ramda') const debug = require('debug')('test') const config = require(`${root}lib/config`) @@ -9,6 +8,7 @@ const errors = require(`${root}lib/errors`) const configUtil = require(`${root}lib/util/config`) const findSystemNode = require(`${root}lib/util/find_system_node`) const scaffold = require(`${root}lib/scaffold`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') let settings = require(`${root}lib/util/settings`) describe('lib/config', () => { @@ -16,6 +16,8 @@ describe('lib/config', () => { this.env = process.env process.env = _.omit(process.env, 'CYPRESS_DEBUG') + + Fixtures.scaffold() }) afterEach(function () { @@ -2037,7 +2039,7 @@ describe('lib/config', () => { }) it('sets the supportFile to default index.js if it does not exist, support folder does not exist, and supportFile is the default', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/no-scaffolding') + const projectRoot = Fixtures.projectPath('no-scaffolding') const obj = config.setAbsolutePaths({ projectRoot, @@ -2055,7 +2057,7 @@ describe('lib/config', () => { }) it('sets the supportFile to false if it does not exist, support folder exists, and supportFile is the default', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/empty-folders') + const projectRoot = Fixtures.projectPath('empty-folders') const obj = config.setAbsolutePaths({ projectRoot, @@ -2086,7 +2088,7 @@ describe('lib/config', () => { }) it('sets the supportFile to index.ts if it exists (without ts require hook)', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/ts-proj') + const projectRoot = Fixtures.projectPath('ts-proj') const supportFolder = `${projectRoot}/cypress/support` const supportFilename = `${supportFolder}/index.ts` @@ -2113,7 +2115,7 @@ describe('lib/config', () => { }) it('uses custom TS supportFile if it exists (without ts require hook)', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/ts-proj-custom-names') + const projectRoot = Fixtures.projectPath('ts-proj-custom-names') const supportFolder = `${projectRoot}/cypress` const supportFilename = `${supportFolder}/support.ts` @@ -2153,7 +2155,7 @@ describe('lib/config', () => { }) it('sets the pluginsFile to default index.js if does not exist', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/no-scaffolding') + const projectRoot = Fixtures.projectPath('no-scaffolding') const obj = { projectRoot, @@ -2170,7 +2172,7 @@ describe('lib/config', () => { }) it('sets the pluginsFile to index.ts if it exists', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/ts-proj-with-module-esnext') + const projectRoot = Fixtures.projectPath('ts-proj-with-module-esnext') const obj = { projectRoot, @@ -2187,7 +2189,7 @@ describe('lib/config', () => { }) it('sets the pluginsFile to index.ts if it exists (without ts require hook)', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/ts-proj-with-module-esnext') + const projectRoot = Fixtures.projectPath('ts-proj-with-module-esnext') const pluginsFolder = `${projectRoot}/cypress/plugins` const pluginsFilename = `${pluginsFolder}/index.ts` @@ -2211,7 +2213,7 @@ describe('lib/config', () => { }) it('set the pluginsFile to false if it does not exist, plugins folder exists, and pluginsFile is the default', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/empty-folders') + const projectRoot = Fixtures.projectPath('empty-folders') const obj = config.setAbsolutePaths({ projectRoot, @@ -2242,7 +2244,7 @@ describe('lib/config', () => { }) it('uses custom TS pluginsFile if it exists (without ts require hook)', () => { - const projectRoot = path.join(process.cwd(), 'test/support/fixtures/projects/ts-proj-custom-names') + const projectRoot = Fixtures.projectPath('ts-proj-custom-names') const pluginsFolder = `${projectRoot}/cypress` const pluginsFile = `${pluginsFolder}/plugins.ts` diff --git a/packages/server/test/unit/files_spec.js b/packages/server/test/unit/files_spec.js index de0a37dc69..7361badf75 100644 --- a/packages/server/test/unit/files_spec.js +++ b/packages/server/test/unit/files_spec.js @@ -2,7 +2,7 @@ require('../spec_helper') const config = require(`${root}lib/config`) const files = require(`${root}lib/files`) -const FixturesHelper = require(`${root}/test/support/helpers/fixtures`) +const FixturesHelper = require('@tooling/system-tests/lib/fixtures') describe('lib/files', () => { beforeEach(function () { diff --git a/packages/server/test/unit/fixture_spec.js b/packages/server/test/unit/fixture_spec.js index 3385534fd7..9046a19f39 100644 --- a/packages/server/test/unit/fixture_spec.js +++ b/packages/server/test/unit/fixture_spec.js @@ -5,7 +5,7 @@ const Promise = require('bluebird') const config = require(`${root}lib/config`) const fixture = require(`${root}lib/fixture`) const { fs } = require(`${root}lib/util/fs`) -const FixturesHelper = require(`${root}/test/support/helpers/fixtures`) +const FixturesHelper = require('@tooling/system-tests/lib/fixtures') const os = require('os') const eol = require('eol') diff --git a/packages/server/test/unit/open_project_spec.js b/packages/server/test/unit/open_project_spec.js index 75671d1f20..64c69f1d8d 100644 --- a/packages/server/test/unit/open_project_spec.js +++ b/packages/server/test/unit/open_project_spec.js @@ -8,7 +8,7 @@ const ProjectBase = require(`${root}lib/project-base`).ProjectBase const { openProject } = require('../../lib/open_project') const preprocessor = require(`${root}lib/plugins/preprocessor`) const runEvents = require(`${root}lib/plugins/run_events`) -const Fixtures = require('../test/../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const todosPath = Fixtures.projectPath('todos') diff --git a/packages/server/test/unit/plugins/child/run_plugins_spec.js b/packages/server/test/unit/plugins/child/run_plugins_spec.js index 6323777f78..dbb7f91cdf 100644 --- a/packages/server/test/unit/plugins/child/run_plugins_spec.js +++ b/packages/server/test/unit/plugins/child/run_plugins_spec.js @@ -9,7 +9,7 @@ const task = require(`${root}../../lib/plugins/child/task`) const util = require(`${root}../../lib/plugins/util`) const resolve = require(`${root}../../lib/util/resolve`) const browserUtils = require(`${root}../../lib/browsers/utils`) -const Fixtures = require(`${root}../../test/support/helpers/fixtures`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') const tsNodeUtil = require(`${root}../../lib/util/ts_node`) const runPlugins = require(`${root}../../lib/plugins/child/run_plugins`) diff --git a/packages/server/test/unit/plugins/preprocessor_spec.js b/packages/server/test/unit/plugins/preprocessor_spec.js index 56098fda89..c34697e577 100644 --- a/packages/server/test/unit/plugins/preprocessor_spec.js +++ b/packages/server/test/unit/plugins/preprocessor_spec.js @@ -1,6 +1,6 @@ require('../../spec_helper') -const Fixtures = require('../../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const path = require('path') const appData = require(`${root}../lib/util/app_data`) diff --git a/packages/server/test/unit/project_spec.js b/packages/server/test/unit/project_spec.js index d05e445fe4..2387cd1111 100644 --- a/packages/server/test/unit/project_spec.js +++ b/packages/server/test/unit/project_spec.js @@ -5,7 +5,7 @@ const path = require('path') const commitInfo = require('@cypress/commit-info') const chokidar = require('chokidar') const pkg = require('@packages/root') -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const { sinon } = require('../spec_helper') const api = require(`${root}lib/api`) const user = require(`${root}lib/user`) diff --git a/packages/server/test/unit/project_utils_spec.ts b/packages/server/test/unit/project_utils_spec.ts index dbf69ea14f..c8c1acedd5 100644 --- a/packages/server/test/unit/project_utils_spec.ts +++ b/packages/server/test/unit/project_utils_spec.ts @@ -3,7 +3,7 @@ import path from 'path' import sinon from 'sinon' import { fs } from '../../lib/util/fs' import { getSpecUrl, checkSupportFile, getDefaultConfigFilePath } from '../../lib/project_utils' -import Fixtures from '../support/helpers/fixtures' +import Fixtures from '@tooling/system-tests/lib/fixtures' const todosPath = Fixtures.projectPath('todos') diff --git a/packages/server/test/unit/scaffold_spec.js b/packages/server/test/unit/scaffold_spec.js index 4294cf0ef7..8001b3f3ca 100644 --- a/packages/server/test/unit/scaffold_spec.js +++ b/packages/server/test/unit/scaffold_spec.js @@ -9,7 +9,7 @@ const ProjectBase = require(`${root}lib/project-base`).ProjectBase const scaffold = require(`${root}lib/scaffold`) const { fs } = require(`${root}lib/util/fs`) const glob = require(`${root}lib/util/glob`) -const Fixtures = require(`${root}/test/support/helpers/fixtures`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') describe('lib/scaffold', () => { beforeEach(() => { diff --git a/packages/server/test/unit/screenshots_spec.js b/packages/server/test/unit/screenshots_spec.js index 818d15ad72..2cebcfeefa 100644 --- a/packages/server/test/unit/screenshots_spec.js +++ b/packages/server/test/unit/screenshots_spec.js @@ -6,7 +6,7 @@ const Jimp = require('jimp') const { Buffer } = require('buffer') const dataUriToBuffer = require('data-uri-to-buffer') const sizeOf = require('image-size') -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const config = require(`${root}lib/config`) const screenshots = require(`${root}lib/screenshots`) const { fs } = require(`${root}lib/util/fs`) diff --git a/packages/server/test/unit/socket_spec.js b/packages/server/test/unit/socket_spec.js index 6b537d6943..54f150dab7 100644 --- a/packages/server/test/unit/socket_spec.js +++ b/packages/server/test/unit/socket_spec.js @@ -15,7 +15,7 @@ const exec = require(`${root}lib/exec`) const preprocessor = require(`${root}lib/plugins/preprocessor`) const { fs } = require(`${root}lib/util/fs`) const open = require(`${root}lib/util/open`) -const Fixtures = require(`${root}/test/support/helpers/fixtures`) +const Fixtures = require('@tooling/system-tests/lib/fixtures') const firefoxUtil = require(`${root}lib/browsers/firefox-util`).default const { createRoutes } = require(`${root}lib/routes`) diff --git a/packages/server/test/unit/specs_spec.js b/packages/server/test/unit/specs_spec.js index bc65e6b243..2f72cfb4aa 100644 --- a/packages/server/test/unit/specs_spec.js +++ b/packages/server/test/unit/specs_spec.js @@ -4,7 +4,7 @@ const R = require('ramda') const path = require('path') const config = require(`${root}lib/config`) const specsUtil = require(`${root}lib/util/specs`).default -const FixturesHelper = require(`${root}/test/support/helpers/fixtures`) +const FixturesHelper = require('@tooling/system-tests/lib/fixtures') const debug = require('debug')('test') describe('lib/util/specs', () => { diff --git a/packages/server/test/unit/util/spec_writer_spec.ts b/packages/server/test/unit/util/spec_writer_spec.ts index a66737faf8..a66050d956 100644 --- a/packages/server/test/unit/util/spec_writer_spec.ts +++ b/packages/server/test/unit/util/spec_writer_spec.ts @@ -5,7 +5,7 @@ import sinon from 'sinon' import snapshot from 'snap-shot-it' import { expect } from 'chai' -import Fixtures from '../../support/helpers/fixtures' +import Fixtures from '@tooling/system-tests/lib/fixtures' import { fs } from '../../../lib/util/fs' import { generateCypressCommand, @@ -19,10 +19,6 @@ import { countStudioUsage, } from '../../../lib/util/spec_writer' -const mockSpec = Fixtures.get('projects/studio/cypress/integration/unwritten.spec.js') -const emptyCommentsSpec = Fixtures.get('projects/studio/cypress/integration/empty-comments.spec.js') -const writtenSpec = Fixtures.get('projects/studio/cypress/integration/written.spec.js') - const exampleTestCommands = [ { selector: '.input', @@ -46,10 +42,15 @@ const verifyOutput = (ast) => { } describe('lib/util/spec_writer', () => { - let readFile + let readFile; let mockSpec; let emptyCommentsSpec; let writtenSpec // recast doesn't play nicely with mockfs so we do it manually beforeEach(() => { + Fixtures.scaffold() + mockSpec = fs.readFileSync(Fixtures.projectPath('studio/cypress/integration/unwritten.spec.js')) + emptyCommentsSpec = fs.readFileSync(Fixtures.projectPath('studio/cypress/integration/empty-comments.spec.js')) + writtenSpec = fs.readFileSync(Fixtures.projectPath('studio/cypress/integration/written.spec.js')) + readFile = sinon.stub(fs, 'readFile').resolves(mockSpec) sinon.stub(fs, 'writeFile').callsFake((path, output) => { snapshot(output) diff --git a/patches/snap-shot-core+10.2.0.patch b/patches/snap-shot-core+10.2.0.patch new file mode 100644 index 0000000000..3e36b17e64 --- /dev/null +++ b/patches/snap-shot-core+10.2.0.patch @@ -0,0 +1,59 @@ +diff --git a/node_modules/snap-shot-core/src/file-system.js b/node_modules/snap-shot-core/src/file-system.js +index b2886cd..7d199a0 100644 +--- a/node_modules/snap-shot-core/src/file-system.js ++++ b/node_modules/snap-shot-core/src/file-system.js +@@ -21,11 +21,14 @@ const exportObject = require('./utils').exportObject + * and we don't want the snapshots to randomly "jump" around and be + * saved in an unexpected location. + */ +-const cwd = process.cwd() ++// cache CWD globally so we can reset it in the case where a test ++// changes cwd before/after this file is required in a non-deterministic ++// fashion (like in the autobalanced system tests) ++global.CACHED_CWD_FOR_SNAP_SHOT_IT = process.cwd() + /** + * Returns a relative path to the original working directory. + */ +-const fromCurrentFolder = path.relative.bind(null, cwd) ++const fromCurrentFolder = (...args) => path.relative(global.CACHED_CWD_FOR_SNAP_SHOT_IT, ...args) + const snapshotsFolderName = '__snapshots__' + /** + * Given relative path, returns same relative path, but inside +@@ -34,14 +37,14 @@ const snapshotsFolderName = '__snapshots__' + * joinSnapshotsFolder('foo/bar') + * // CWD/__snapshots__/foo/bar + */ +-const joinSnapshotsFolder = path.join.bind(null, cwd, snapshotsFolderName) ++const joinSnapshotsFolder = (...args) => path.join(global.CACHED_CWD_FOR_SNAP_SHOT_IT, snapshotsFolderName, ...args) + + // TODO: expose the name of the snapshots folder to the outside world id:16 + // - + // Gleb Bahmutov + // gleb.bahmutov@gmail.com + const snapshotsFolder = fromCurrentFolder(snapshotsFolderName) +-debug('process cwd: %s', cwd) ++debug('process cwd: %s', global.CACHED_CWD_FOR_SNAP_SHOT_IT) + debug('snapshots folder: %s', snapshotsFolder) + + /** +@@ -52,7 +55,7 @@ debug('snapshots folder: %s', snapshotsFolder) + * we want to form snapshot filenames wrt to the original starting + * working directory. + */ +-const resolveToCwd = path.resolve.bind(null, cwd) ++const resolveToCwd = (...args) => path.resolve(global.CACHED_CWD_FOR_SNAP_SHOT_IT, ...args) + + const isSaveOptions = is.schema({ + sortSnapshots: is.bool +diff --git a/node_modules/snap-shot-core/src/index.js b/node_modules/snap-shot-core/src/index.js +index b0442f0..fbe55bf 100644 +--- a/node_modules/snap-shot-core/src/index.js ++++ b/node_modules/snap-shot-core/src/index.js +@@ -332,6 +332,7 @@ function core (options) { + if (expected === undefined) { + if (opts.ci) { + console.log('current directory', process.cwd()) ++ console.log('cached cwd', global.CACHED_CWD_FOR_SNAP_SHOT_IT) + console.log('new value to save: %j', value) + return throwCannotSaveOnCI({ + value, diff --git a/patches/snap-shot-it+7.9.3.patch b/patches/snap-shot-it+7.9.3.patch index a8d93a038c..c5d7a5c20d 100644 --- a/patches/snap-shot-it+7.9.3.patch +++ b/patches/snap-shot-it+7.9.3.patch @@ -1,16 +1,53 @@ diff --git a/node_modules/snap-shot-it/src/index.js b/node_modules/snap-shot-it/src/index.js -index 0fb68da..154f09d 100644 +index 0fb68da..d1ff31a 100644 --- a/node_modules/snap-shot-it/src/index.js +++ b/node_modules/snap-shot-it/src/index.js -@@ -319,6 +319,11 @@ function snapshot (value) { - // the code is duplicate from above to get just the key collision error - const info = R.assoc('key', e.key, snapshotInfo) - info.allowDuplicate = Boolean(snapshotOptions.allowSharedSnapshot) -+ -+ if (info.allowDuplicate) { -+ return -+ } -+ - debug('current snapshot info %o', info) +@@ -16,8 +16,11 @@ const itsName = require('its-name') + + // save current directory right away to avoid any surprises later + // when some random tests change it +-const cwd = process.cwd() +-const relativeToCwd = path.relative.bind(null, cwd) ++// cache CWD globally so we can reset it in the case where a test ++// changes cwd before/after this file is required in a non-deterministic ++// fashion (like in the autobalanced system tests) ++global.CACHED_CWD_FOR_SNAP_SHOT_IT = process.cwd() ++const relativeToCwd = (...args) => path.relative(global.CACHED_CWD_FOR_SNAP_SHOT_IT, ...args) + + debug('loading snap-shot-it') + const EXTENSION = '.js' +@@ -239,7 +242,7 @@ function snapshot (value) { + compare: R.noop, + store: R.noop + } +- const packageConfigOptions = utils.getPackageConfigOptions(cwd) ++ const packageConfigOptions = utils.getPackageConfigOptions(global.CACHED_CWD_FOR_SNAP_SHOT_IT) + const opts = utils.mergeConfigOptions( + defaultOptions, + packageConfigOptions, +@@ -254,12 +257,12 @@ function snapshot (value) { + debug('prune options %o', pruneSnapshotsOptions) + + const compare = opts.compare +- ? utils.load(cwd, opts.compare) ++ ? utils.load(global.CACHED_CWD_FOR_SNAP_SHOT_IT, opts.compare) + : require('snap-shot-compare') +- const store = opts.store ? utils.load(cwd, opts.store) : null ++ const store = opts.store ? utils.load(global.CACHED_CWD_FOR_SNAP_SHOT_IT, opts.store) : null + + const preCompare = opts['pre-compare'] +- ? utils.load(cwd, opts['pre-compare']) ++ ? utils.load(global.CACHED_CWD_FOR_SNAP_SHOT_IT, opts['pre-compare']) + : R.identity + const what = preCompare(value) + +@@ -323,6 +326,9 @@ function snapshot (value) { const prevInfo = findExistingSnapshotKey(info) + if (prevInfo) { ++ if (info.allowDuplicate) { ++ return ++ } + debug('found duplicate snapshot name: %s', prevInfo.key) + console.error( + 'Snapshot error was caused by the duplicate snapshot name' diff --git a/scripts/binary/build.js b/scripts/binary/build.js index 787a5a1395..2990404ba0 100644 --- a/scripts/binary/build.js +++ b/scripts/binary/build.js @@ -20,7 +20,7 @@ const packages = require('./util/packages') const xvfb = require('../../cli/lib/exec/xvfb') const { transformRequires } = require('./util/transform-requires') const { testStaticAssets } = require('./util/testStaticAssets') -const performanceTracking = require('../../packages/server/test/support/helpers/performance.js') +const performanceTracking = require('@tooling/system-tests/lib/performance') const rootPackage = require('@packages/root') diff --git a/scripts/binary/smoke.js b/scripts/binary/smoke.js index b64010d23d..570eaa1f6e 100644 --- a/scripts/binary/smoke.js +++ b/scripts/binary/smoke.js @@ -6,7 +6,7 @@ const path = require('path') const Promise = require('bluebird') const os = require('os') const verify = require('../../cli/lib/tasks/verify') -const Fixtures = require('../../packages/server/test/support/helpers/fixtures') +const Fixtures = require('@tooling/system-tests/lib/fixtures') const fs = Promise.promisifyAll(fse) diff --git a/system-tests/.eslintrc.json b/system-tests/.eslintrc.json new file mode 100644 index 0000000000..42c1beed27 --- /dev/null +++ b/system-tests/.eslintrc.json @@ -0,0 +1,17 @@ +{ + "globals": { + "expect": "readonly", + "mockery": "readonly", + "nock": "readonly", + "proxyquire": "readonly", + "root": "readonly", + "sinon": "readonly", + "supertest": "readonly" + }, + "extends": [ + "plugin:@cypress/dev/tests" + ], + "rules": { + "no-console": "off" + } +} diff --git a/system-tests/README.md b/system-tests/README.md new file mode 100644 index 0000000000..62b7582913 --- /dev/null +++ b/system-tests/README.md @@ -0,0 +1,70 @@ +@tooling/system-tests +=== + +This package contains Cypress's suite of system tests. + +These tests launch the [Cypress server](../packages/server) process for each test and run different specs and projects under specific environment conditions, to get tests that can be as close to "real world" as possible. + +These tests run in CI in Electron, Chrome, and Firefox under the `system-tests` job family. + +## Running system tests + +```bash +yarn test +yarn test test/async_timeouts_spec.js +## or +yarn test async_timeouts ## shorthand, uses globbing to find spec +``` + +To keep the browser open after a spec run (for easier debugging and iterating on specs), you can pass the `--no-exit` flag to the test command. Live reloading due to spec changes should also work: + +```sh +yarn test test/go_spec.js --browser chrome --no-exit +``` + +To debug the Cypress process under test, you can pass `--cypress-inspect-brk`: + +```sh +yarn test test/go_spec.js --browser chrome --no-exit +``` + +## Developing tests + +System tests cover the entire Cypress run, so they are good for testing features that do not fit into a normal integration or unit test. However, they do take more resources to run, so consider carefully if you really *need* to write a system test, or if you could achieve 100% coverage via an integration or unit test instead. + +There are two parts to a system test: + +1. A test written using the [`systemTests`](./lib/system-tests) Mocha wrapper that lives in [`./test`](./test), and +2. A matching Cypress project that lives in the [`./projects`](./projects) directory. + +For example, if you initialized a new project in `./projects/my-new-project`, and you wanted to assert that 2 tests fail and take a snapshot of the `stdout`, you'd write a test like this: + +```ts +// ./test/my-new-project.spec.ts +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' + +describe('my new project', () => { + // scaffold projects + systemTests.setup() + + systemTests.it('fails as expected', { + project: Fixtures.projectPath('my-new-project'), + snapshot: true, + spec: '*', + expectedExitCode: 2 + }) +}) +``` + +From here, you could run this test with `yarn test my-new-project`. + +There are many more options available for `systemTests.it` and `systemTests.setup`. You can massage the stdout, do pre-run tasks, set up HTTP/S servers, and more. Explore the typedocs in [`./lib/system-tests`](./lib/system-tests) for more information. + +## Updating snaphots + +Prepend `SNAPSHOT_UPDATE=1` to any test command. See [`snap-shot-it` instructions](https://github.com/bahmutov/snap-shot-it#advanced-use) for more info. + +```bash +SNAPSHOT_UPDATE=1 yarn test go_spec +``` diff --git a/packages/server/__snapshots__/async_timeouts_spec.js b/system-tests/__snapshots__/async_timeouts_spec.js similarity index 100% rename from packages/server/__snapshots__/async_timeouts_spec.js rename to system-tests/__snapshots__/async_timeouts_spec.js diff --git a/packages/server/__snapshots__/base_url_spec.js b/system-tests/__snapshots__/base_url_spec.js similarity index 100% rename from packages/server/__snapshots__/base_url_spec.js rename to system-tests/__snapshots__/base_url_spec.js diff --git a/packages/server/__snapshots__/before_browser_launch_spec.ts.js b/system-tests/__snapshots__/before_browser_launch_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/before_browser_launch_spec.ts.js rename to system-tests/__snapshots__/before_browser_launch_spec.ts.js diff --git a/packages/server/__snapshots__/block_hosts_spec.js b/system-tests/__snapshots__/block_hosts_spec.js similarity index 100% rename from packages/server/__snapshots__/block_hosts_spec.js rename to system-tests/__snapshots__/block_hosts_spec.js diff --git a/packages/server/__snapshots__/browser_path_spec.js b/system-tests/__snapshots__/browser_path_spec.js similarity index 100% rename from packages/server/__snapshots__/browser_path_spec.js rename to system-tests/__snapshots__/browser_path_spec.js diff --git a/packages/server/__snapshots__/busted_support_file_spec.js b/system-tests/__snapshots__/busted_support_file_spec.js similarity index 100% rename from packages/server/__snapshots__/busted_support_file_spec.js rename to system-tests/__snapshots__/busted_support_file_spec.js diff --git a/packages/server/__snapshots__/cache_spec.js b/system-tests/__snapshots__/cache_spec.js similarity index 100% rename from packages/server/__snapshots__/cache_spec.js rename to system-tests/__snapshots__/cache_spec.js diff --git a/packages/server/__snapshots__/caught_uncaught_hook_errors_spec.js b/system-tests/__snapshots__/caught_uncaught_hook_errors_spec.js similarity index 100% rename from packages/server/__snapshots__/caught_uncaught_hook_errors_spec.js rename to system-tests/__snapshots__/caught_uncaught_hook_errors_spec.js diff --git a/packages/server/__snapshots__/cdp_spec.ts.js b/system-tests/__snapshots__/cdp_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/cdp_spec.ts.js rename to system-tests/__snapshots__/cdp_spec.ts.js diff --git a/packages/server/__snapshots__/commands_outside_of_test_spec.js b/system-tests/__snapshots__/commands_outside_of_test_spec.js similarity index 100% rename from packages/server/__snapshots__/commands_outside_of_test_spec.js rename to system-tests/__snapshots__/commands_outside_of_test_spec.js diff --git a/packages/server/__snapshots__/config_spec.js b/system-tests/__snapshots__/config_spec.js similarity index 100% rename from packages/server/__snapshots__/config_spec.js rename to system-tests/__snapshots__/config_spec.js diff --git a/packages/server/__snapshots__/controllers_spec.js b/system-tests/__snapshots__/controllers_spec.js similarity index 100% rename from packages/server/__snapshots__/controllers_spec.js rename to system-tests/__snapshots__/controllers_spec.js diff --git a/packages/server/__snapshots__/cookies_spec.ts.js b/system-tests/__snapshots__/cookies_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/cookies_spec.ts.js rename to system-tests/__snapshots__/cookies_spec.ts.js diff --git a/packages/server/__snapshots__/cy_visit_performance_spec.js b/system-tests/__snapshots__/cy_visit_performance_spec.js similarity index 100% rename from packages/server/__snapshots__/cy_visit_performance_spec.js rename to system-tests/__snapshots__/cy_visit_performance_spec.js diff --git a/packages/server/__snapshots__/deprecated_spec.ts.js b/system-tests/__snapshots__/deprecated_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/deprecated_spec.ts.js rename to system-tests/__snapshots__/deprecated_spec.ts.js diff --git a/packages/server/__snapshots__/domain_spec.js b/system-tests/__snapshots__/domain_spec.js similarity index 100% rename from packages/server/__snapshots__/domain_spec.js rename to system-tests/__snapshots__/domain_spec.js diff --git a/packages/server/__snapshots__/es_modules_spec.js b/system-tests/__snapshots__/es_modules_spec.js similarity index 100% rename from packages/server/__snapshots__/es_modules_spec.js rename to system-tests/__snapshots__/es_modules_spec.js diff --git a/packages/server/__snapshots__/form_submissions_spec.js b/system-tests/__snapshots__/form_submissions_spec.js similarity index 100% rename from packages/server/__snapshots__/form_submissions_spec.js rename to system-tests/__snapshots__/form_submissions_spec.js diff --git a/packages/server/__snapshots__/go_spec.js b/system-tests/__snapshots__/go_spec.js similarity index 100% rename from packages/server/__snapshots__/go_spec.js rename to system-tests/__snapshots__/go_spec.js diff --git a/packages/server/__snapshots__/headless_spec.ts.js b/system-tests/__snapshots__/headless_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/headless_spec.ts.js rename to system-tests/__snapshots__/headless_spec.ts.js diff --git a/packages/server/__snapshots__/iframe_spec.js b/system-tests/__snapshots__/iframe_spec.js similarity index 100% rename from packages/server/__snapshots__/iframe_spec.js rename to system-tests/__snapshots__/iframe_spec.js diff --git a/packages/server/__snapshots__/images_spec.js b/system-tests/__snapshots__/images_spec.js similarity index 100% rename from packages/server/__snapshots__/images_spec.js rename to system-tests/__snapshots__/images_spec.js diff --git a/packages/server/__snapshots__/interception_spec.js b/system-tests/__snapshots__/interception_spec.js similarity index 100% rename from packages/server/__snapshots__/interception_spec.js rename to system-tests/__snapshots__/interception_spec.js diff --git a/packages/server/__snapshots__/issue_149_spec.js b/system-tests/__snapshots__/issue_149_spec.js similarity index 100% rename from packages/server/__snapshots__/issue_149_spec.js rename to system-tests/__snapshots__/issue_149_spec.js diff --git a/packages/server/__snapshots__/issue_1669_spec.js b/system-tests/__snapshots__/issue_1669_spec.js similarity index 100% rename from packages/server/__snapshots__/issue_1669_spec.js rename to system-tests/__snapshots__/issue_1669_spec.js diff --git a/packages/server/__snapshots__/issue_173_spec.ts.js b/system-tests/__snapshots__/issue_173_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/issue_173_spec.ts.js rename to system-tests/__snapshots__/issue_173_spec.ts.js diff --git a/packages/server/__snapshots__/issue_2891_spec.js b/system-tests/__snapshots__/issue_2891_spec.js similarity index 100% rename from packages/server/__snapshots__/issue_2891_spec.js rename to system-tests/__snapshots__/issue_2891_spec.js diff --git a/packages/server/__snapshots__/issue_5475_spec.js b/system-tests/__snapshots__/issue_5475_spec.js similarity index 100% rename from packages/server/__snapshots__/issue_5475_spec.js rename to system-tests/__snapshots__/issue_5475_spec.js diff --git a/packages/server/__snapshots__/issue_6619.ts.js b/system-tests/__snapshots__/issue_6619.ts.js similarity index 100% rename from packages/server/__snapshots__/issue_6619.ts.js rename to system-tests/__snapshots__/issue_6619.ts.js diff --git a/packages/server/__snapshots__/issue_674_spec.js b/system-tests/__snapshots__/issue_674_spec.js similarity index 100% rename from packages/server/__snapshots__/issue_674_spec.js rename to system-tests/__snapshots__/issue_674_spec.js diff --git a/packages/server/__snapshots__/issue_7217_spec.ts.js b/system-tests/__snapshots__/issue_7217_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/issue_7217_spec.ts.js rename to system-tests/__snapshots__/issue_7217_spec.ts.js diff --git a/packages/server/__snapshots__/js_error_handling_spec.js b/system-tests/__snapshots__/js_error_handling_spec.js similarity index 95% rename from packages/server/__snapshots__/js_error_handling_spec.js rename to system-tests/__snapshots__/js_error_handling_spec.js index d53654a0df..e94d554422 100644 --- a/packages/server/__snapshots__/js_error_handling_spec.js +++ b/system-tests/__snapshots__/js_error_handling_spec.js @@ -115,7 +115,7 @@ https://on.cypress.io/cross-origin-script-error │ Pending: 0 │ │ Skipped: 0 │ │ Screenshots: 5 │ - │ Video: true │ + │ Video: false │ │ Duration: X seconds │ │ Spec Ran: js_error_handling_failing_spec.js │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ @@ -135,13 +135,6 @@ https://on.cypress.io/cross-origin-script-error rigin script errors -- explains where script errored (failed).png - (Video) - - - Started processing: Compressing to 32 CRF - - Finished processing: /XXX/XXX/XXX/cypress/videos/js_error_handling_failing_spec. (X second) - js.mp4 - - ==================================================================================================== (Run Finished) diff --git a/packages/server/__snapshots__/network_error_handling_spec.js b/system-tests/__snapshots__/network_error_handling_spec.js similarity index 100% rename from packages/server/__snapshots__/network_error_handling_spec.js rename to system-tests/__snapshots__/network_error_handling_spec.js diff --git a/packages/server/__snapshots__/new_project_spec.js b/system-tests/__snapshots__/new_project_spec.js similarity index 100% rename from packages/server/__snapshots__/new_project_spec.js rename to system-tests/__snapshots__/new_project_spec.js diff --git a/packages/server/__snapshots__/non_proxied_spec.ts.js b/system-tests/__snapshots__/non_proxied_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/non_proxied_spec.ts.js rename to system-tests/__snapshots__/non_proxied_spec.ts.js diff --git a/packages/server/__snapshots__/non_root_read_only_fs_spec.ts.js b/system-tests/__snapshots__/non_root_read_only_fs_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/non_root_read_only_fs_spec.ts.js rename to system-tests/__snapshots__/non_root_read_only_fs_spec.ts.js diff --git a/packages/server/__snapshots__/only_spec.js b/system-tests/__snapshots__/only_spec.js similarity index 100% rename from packages/server/__snapshots__/only_spec.js rename to system-tests/__snapshots__/only_spec.js diff --git a/packages/server/__snapshots__/page_loading_spec.js b/system-tests/__snapshots__/page_loading_spec.js similarity index 100% rename from packages/server/__snapshots__/page_loading_spec.js rename to system-tests/__snapshots__/page_loading_spec.js diff --git a/packages/server/__snapshots__/plugin_run_events_spec.ts.js b/system-tests/__snapshots__/plugin_run_events_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/plugin_run_events_spec.ts.js rename to system-tests/__snapshots__/plugin_run_events_spec.ts.js diff --git a/packages/server/__snapshots__/plugins_spec.js b/system-tests/__snapshots__/plugins_spec.js similarity index 100% rename from packages/server/__snapshots__/plugins_spec.js rename to system-tests/__snapshots__/plugins_spec.js diff --git a/packages/server/__snapshots__/promises_spec.js b/system-tests/__snapshots__/promises_spec.js similarity index 100% rename from packages/server/__snapshots__/promises_spec.js rename to system-tests/__snapshots__/promises_spec.js diff --git a/packages/server/__snapshots__/record_spec.js b/system-tests/__snapshots__/record_spec.js similarity index 100% rename from packages/server/__snapshots__/record_spec.js rename to system-tests/__snapshots__/record_spec.js diff --git a/packages/server/__snapshots__/reporters_spec.js b/system-tests/__snapshots__/reporters_spec.js similarity index 100% rename from packages/server/__snapshots__/reporters_spec.js rename to system-tests/__snapshots__/reporters_spec.js diff --git a/packages/server/__snapshots__/request_spec.ts.js b/system-tests/__snapshots__/request_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/request_spec.ts.js rename to system-tests/__snapshots__/request_spec.ts.js diff --git a/packages/server/__snapshots__/retries_spec.ts.js b/system-tests/__snapshots__/retries_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/retries_spec.ts.js rename to system-tests/__snapshots__/retries_spec.ts.js diff --git a/packages/server/__snapshots__/return_value_spec.js b/system-tests/__snapshots__/return_value_spec.js similarity index 100% rename from packages/server/__snapshots__/return_value_spec.js rename to system-tests/__snapshots__/return_value_spec.js diff --git a/packages/server/__snapshots__/runnable_execution_spec.ts.js b/system-tests/__snapshots__/runnable_execution_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/runnable_execution_spec.ts.js rename to system-tests/__snapshots__/runnable_execution_spec.ts.js diff --git a/packages/server/__snapshots__/screenshot_element_capture_spec.js b/system-tests/__snapshots__/screenshot_element_capture_spec.js similarity index 100% rename from packages/server/__snapshots__/screenshot_element_capture_spec.js rename to system-tests/__snapshots__/screenshot_element_capture_spec.js diff --git a/packages/server/__snapshots__/screenshot_fullpage_capture_spec.js b/system-tests/__snapshots__/screenshot_fullpage_capture_spec.js similarity index 100% rename from packages/server/__snapshots__/screenshot_fullpage_capture_spec.js rename to system-tests/__snapshots__/screenshot_fullpage_capture_spec.js diff --git a/packages/server/__snapshots__/screenshot_nested_file_spec.js b/system-tests/__snapshots__/screenshot_nested_file_spec.js similarity index 100% rename from packages/server/__snapshots__/screenshot_nested_file_spec.js rename to system-tests/__snapshots__/screenshot_nested_file_spec.js diff --git a/packages/server/__snapshots__/screenshot_viewport_capture_spec.js b/system-tests/__snapshots__/screenshot_viewport_capture_spec.js similarity index 100% rename from packages/server/__snapshots__/screenshot_viewport_capture_spec.js rename to system-tests/__snapshots__/screenshot_viewport_capture_spec.js diff --git a/packages/server/__snapshots__/screenshots_spec.js b/system-tests/__snapshots__/screenshots_spec.js similarity index 94% rename from packages/server/__snapshots__/screenshots_spec.js rename to system-tests/__snapshots__/screenshots_spec.js index 3bfeb8f26e..e7cd0760d8 100644 --- a/packages/server/__snapshots__/screenshots_spec.js +++ b/system-tests/__snapshots__/screenshots_spec.js @@ -38,6 +38,8 @@ exports['e2e screenshots / passes'] = ` - does not take a screenshot for a pending test ✓ adds padding to element screenshot when specified ✓ does not add padding to non-element screenshot + ✓ can pass overwrite option to replace existing filename + ✓ can set overwrite default option to replace existing filename clipping ✓ can clip app screenshots ✓ can clip runner screenshots @@ -53,7 +55,7 @@ exports['e2e screenshots / passes'] = ` ✓ takes another screenshot - 20 passing + 22 passing 1 pending 6 failing @@ -102,8 +104,8 @@ Because this error occurred during a \`after each\` hook we are skipping the rem (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ - │ Tests: 26 │ - │ Passing: 20 │ + │ Tests: 28 │ + │ Passing: 22 │ │ Failing: 5 │ │ Pending: 1 │ │ Skipped: 0 │ @@ -153,6 +155,7 @@ Because this error occurred during a \`after each\` hook we are skipping the rem - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/aut-resize.png (1000x2000) - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/element-padding.png (420x320) - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/non-element-padding.png (600x200) + - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/overwrite-test.png (100x50) - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/app-clip.png (100x50) - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/runner-clip.png (120x60) - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/fullPage-clip.png (140x70) @@ -167,10 +170,6 @@ Because this error occurred during a \`after each\` hook we are skipping the rem y long test title aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.png - - /XXX/XXX/XXX/cypress/screenshots/screenshots_spec.js/taking screenshots -- reall (1000x660) - y long test title aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa (1).png (Video) @@ -186,9 +185,9 @@ Because this error occurred during a \`after each\` hook we are skipping the rem Spec Tests Passing Failing Pending Skipped ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ - │ ✖ screenshots_spec.js XX:XX 26 20 5 1 - │ + │ ✖ screenshots_spec.js XX:XX 28 22 5 1 - │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ - ✖ 1 of 1 failed (100%) XX:XX 26 20 5 1 - + ✖ 1 of 1 failed (100%) XX:XX 28 22 5 1 - ` diff --git a/packages/server/__snapshots__/server_sent_events_spec.js b/system-tests/__snapshots__/server_sent_events_spec.js similarity index 100% rename from packages/server/__snapshots__/server_sent_events_spec.js rename to system-tests/__snapshots__/server_sent_events_spec.js diff --git a/packages/server/__snapshots__/session_spec.ts.js b/system-tests/__snapshots__/session_spec.ts.js similarity index 94% rename from packages/server/__snapshots__/session_spec.ts.js rename to system-tests/__snapshots__/session_spec.ts.js index 0200e50cae..40a0a3daea 100644 --- a/packages/server/__snapshots__/session_spec.ts.js +++ b/system-tests/__snapshots__/session_spec.ts.js @@ -66,7 +66,7 @@ exports['e2e sessions / session tests'] = ` ✓ t1 ✓ t2 - options.validate reruns steps when rejecting + options.validate reruns steps when throwing ✓ t1 ✓ t2 @@ -105,7 +105,17 @@ exports['e2e sessions / session tests'] = ` ✓ t2 consoleProps - ✓ t1 + - t1 + + ignores setting insecure context data when on secure context + no cross origin secure origins, nothing to clear + ✓ sets insecure content + ✓ nothing to clear - 1/2 + ✓ nothing to clear - 2/2 + only secure origins cleared + ✓ sets insecure content + ✓ switches to secure context - clears only secure context data - 1/2 + ✓ clears only secure context data - 2/2 errors ✓ throws error when experimentalSessionSupport not enabled @@ -113,16 +123,17 @@ exports['e2e sessions / session tests'] = ` ✓ throws if multiple session calls with same name but different options - 49 passing + 54 passing + 1 pending (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ - │ Tests: 49 │ - │ Passing: 49 │ + │ Tests: 55 │ + │ Passing: 54 │ │ Failing: 0 │ - │ Pending: 0 │ + │ Pending: 1 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ @@ -138,9 +149,9 @@ exports['e2e sessions / session tests'] = ` Spec Tests Passing Failing Pending Skipped ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ - │ ✔ session_spec.js XX:XX 49 49 - - - │ + │ ✔ session_spec.js XX:XX 55 54 - 1 - │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ - ✔ All specs passed! XX:XX 49 49 - - - + ✔ All specs passed! XX:XX 55 54 - 1 - ` diff --git a/packages/server/__snapshots__/spec_isolation_spec.js b/system-tests/__snapshots__/spec_isolation_spec.js similarity index 100% rename from packages/server/__snapshots__/spec_isolation_spec.js rename to system-tests/__snapshots__/spec_isolation_spec.js diff --git a/packages/server/__snapshots__/specs_spec.js b/system-tests/__snapshots__/specs_spec.js similarity index 100% rename from packages/server/__snapshots__/specs_spec.js rename to system-tests/__snapshots__/specs_spec.js diff --git a/packages/server/__snapshots__/stdout_spec.js b/system-tests/__snapshots__/stdout_spec.js similarity index 100% rename from packages/server/__snapshots__/stdout_spec.js rename to system-tests/__snapshots__/stdout_spec.js diff --git a/packages/server/__snapshots__/studio_spec.ts.js b/system-tests/__snapshots__/studio_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/studio_spec.ts.js rename to system-tests/__snapshots__/studio_spec.ts.js diff --git a/packages/server/__snapshots__/subdomain_spec.ts.js b/system-tests/__snapshots__/subdomain_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/subdomain_spec.ts.js rename to system-tests/__snapshots__/subdomain_spec.ts.js diff --git a/packages/server/__snapshots__/system_node_spec.js b/system-tests/__snapshots__/system_node_spec.js similarity index 100% rename from packages/server/__snapshots__/system_node_spec.js rename to system-tests/__snapshots__/system_node_spec.js diff --git a/packages/server/__snapshots__/task_not_registered_spec.js b/system-tests/__snapshots__/task_not_registered_spec.js similarity index 100% rename from packages/server/__snapshots__/task_not_registered_spec.js rename to system-tests/__snapshots__/task_not_registered_spec.js diff --git a/packages/server/__snapshots__/task_spec.js b/system-tests/__snapshots__/task_spec.js similarity index 100% rename from packages/server/__snapshots__/task_spec.js rename to system-tests/__snapshots__/task_spec.js diff --git a/packages/server/__snapshots__/testConfigOverrides_spec.ts.js b/system-tests/__snapshots__/testConfigOverrides_spec.ts.js similarity index 100% rename from packages/server/__snapshots__/testConfigOverrides_spec.ts.js rename to system-tests/__snapshots__/testConfigOverrides_spec.ts.js diff --git a/packages/server/__snapshots__/typescript_spec_support_spec.ts.js b/system-tests/__snapshots__/typescript_spec_support_spec.ts.js similarity index 99% rename from packages/server/__snapshots__/typescript_spec_support_spec.ts.js rename to system-tests/__snapshots__/typescript_spec_support_spec.ts.js index fa425a42af..3aa0bfc61b 100644 --- a/packages/server/__snapshots__/typescript_spec_support_spec.ts.js +++ b/system-tests/__snapshots__/typescript_spec_support_spec.ts.js @@ -88,9 +88,9 @@ The error was: Error: Webpack Compilation Error ./cypress/integration/typescript_syntax_error_spec.tsXX:XX -Module parse failed: Unexpected token (4:19) +Module parse failed: Unexpected token (3:19) File was processed with these loaders: - * ../../../../npm/webpack-batteries-included-preprocessor/node_modules/ts-loader/index.js + * ../../../npm/webpack-batteries-included-preprocessor/node_modules/ts-loader/index.js You may need an additional loader to handle the result of these loaders. | // The code below is ignored by eslint | // because it tests failing spec. diff --git a/packages/server/__snapshots__/uncaught_spec_errors_spec.js b/system-tests/__snapshots__/uncaught_spec_errors_spec.js similarity index 100% rename from packages/server/__snapshots__/uncaught_spec_errors_spec.js rename to system-tests/__snapshots__/uncaught_spec_errors_spec.js diff --git a/packages/server/__snapshots__/uncaught_support_file_spec.js b/system-tests/__snapshots__/uncaught_support_file_spec.js similarity index 100% rename from packages/server/__snapshots__/uncaught_support_file_spec.js rename to system-tests/__snapshots__/uncaught_support_file_spec.js diff --git a/packages/server/__snapshots__/user_agent_spec.js b/system-tests/__snapshots__/user_agent_spec.js similarity index 100% rename from packages/server/__snapshots__/user_agent_spec.js rename to system-tests/__snapshots__/user_agent_spec.js diff --git a/packages/server/__snapshots__/viewport_spec.js b/system-tests/__snapshots__/viewport_spec.js similarity index 100% rename from packages/server/__snapshots__/viewport_spec.js rename to system-tests/__snapshots__/viewport_spec.js diff --git a/packages/server/__snapshots__/visit_spec.js b/system-tests/__snapshots__/visit_spec.js similarity index 100% rename from packages/server/__snapshots__/visit_spec.js rename to system-tests/__snapshots__/visit_spec.js diff --git a/packages/server/__snapshots__/web_security_spec.js b/system-tests/__snapshots__/web_security_spec.js similarity index 100% rename from packages/server/__snapshots__/web_security_spec.js rename to system-tests/__snapshots__/web_security_spec.js diff --git a/packages/server/__snapshots__/websockets_spec.js b/system-tests/__snapshots__/websockets_spec.js similarity index 100% rename from packages/server/__snapshots__/websockets_spec.js rename to system-tests/__snapshots__/websockets_spec.js diff --git a/packages/server/__snapshots__/xhr_spec.js b/system-tests/__snapshots__/xhr_spec.js similarity index 100% rename from packages/server/__snapshots__/xhr_spec.js rename to system-tests/__snapshots__/xhr_spec.js diff --git a/packages/server/test/support/helpers/fixtures.js b/system-tests/lib/fixtures.js similarity index 81% rename from packages/server/test/support/helpers/fixtures.js rename to system-tests/lib/fixtures.js index 857f2b5a8d..2cac5ddad3 100644 --- a/packages/server/test/support/helpers/fixtures.js +++ b/system-tests/lib/fixtures.js @@ -2,8 +2,10 @@ const fs = require('fs-extra') const path = require('path') const chokidar = require('chokidar') -const root = path.join(__dirname, '..', '..', '..') -const projects = path.join(root, 'test', 'support', 'fixtures', 'projects') +const root = path.join(__dirname, '..') + +const serverRoot = path.join(__dirname, '../../packages/server/') +const projects = path.join(root, 'projects') const tmpDir = path.join(root, '.projects') // copy contents instead of deleting+creating new file, which can cause @@ -29,7 +31,7 @@ module.exports = { }, scaffoldWatch () { - const watchdir = path.resolve(__dirname, '../fixtures/projects') + const watchdir = path.resolve(__dirname, '../projects') console.log('watching files due to --no-exit', watchdir) @@ -68,10 +70,10 @@ module.exports = { }, get (fixture, encoding = 'utf8') { - return fs.readFileSync(path.join(root, 'test', 'support', 'fixtures', fixture), encoding) + return fs.readFileSync(path.join(serverRoot, 'test', 'support', 'fixtures', fixture), encoding) }, path (fixture) { - return path.join(root, 'test', 'support', 'fixtures', fixture) + return path.join(serverRoot, 'test', 'support', 'fixtures', fixture) }, } diff --git a/packages/server/test/support/helpers/performance.js b/system-tests/lib/performance.js similarity index 93% rename from packages/server/test/support/helpers/performance.js rename to system-tests/lib/performance.js index a8dd40b457..23a4238016 100644 --- a/packages/server/test/support/helpers/performance.js +++ b/system-tests/lib/performance.js @@ -1,6 +1,6 @@ -const ciProvider = require('../../../lib/util/ci_provider') +const ciProvider = require('@packages/server/lib/util/ci_provider') const { commitInfo } = require('@cypress/commit-info') -const pkg = require('../../../../../package.json') +const pkg = require('@packages/root') const Promise = require('bluebird') const rp = require('@cypress/request-promise') const debug = require('debug')('cypress:performance') diff --git a/packages/server/test/support/helpers/resultsUtils.ts b/system-tests/lib/resultsUtils.ts similarity index 93% rename from packages/server/test/support/helpers/resultsUtils.ts rename to system-tests/lib/resultsUtils.ts index 7863f791a9..5814d7dbf0 100644 --- a/packages/server/test/support/helpers/resultsUtils.ts +++ b/system-tests/lib/resultsUtils.ts @@ -1,4 +1,4 @@ -import e2e from './e2e' +import systemTests from './system-tests' import dayjs from 'dayjs' import _ from 'lodash' @@ -113,7 +113,7 @@ export const expectRunsToHaveCorrectTimings = (runs = []) => { _.each(run.tests, (test) => { try { if (test.displayError) { - test.displayError = e2e.normalizeStdout(test.displayError) + test.displayError = systemTests.normalizeStdout(test.displayError) } const attempts = test.attempts @@ -122,7 +122,7 @@ export const expectRunsToHaveCorrectTimings = (runs = []) => { // is around the sum of all of its timings attempts.forEach((attempt) => { if (attempt.error) { - attempt.error.stack = e2e.normalizeStdout(attempt.error.stack).trim() + attempt.error.stack = systemTests.normalizeStdout(attempt.error.stack).trim() } // cannot sum an object, must use array of values @@ -264,18 +264,18 @@ export const expectCorrectModuleApiResult = (json, opts: { 1234, ) - run.spec.absolute = e2e.normalizeStdout(run.spec.absolute) + run.spec.absolute = systemTests.normalizeStdout(run.spec.absolute) _.each(run.tests, (test) => { if (test.displayError) { - test.displayError = e2e.normalizeStdout(test.displayError) + test.displayError = systemTests.normalizeStdout(test.displayError) } }) attempts.forEach((attempt) => { // normalize stack if (attempt.error) { - attempt.error.stack = e2e.normalizeStdout(attempt.error.stack).trim() + attempt.error.stack = systemTests.normalizeStdout(attempt.error.stack).trim() } // normalize startedAt @@ -300,7 +300,7 @@ export const expectCorrectModuleApiResult = (json, opts: { screenshot.takenAt = STATIC_DATE // screenshot.screenshotId = 'some-random-id' - screenshot.path = e2e.normalizeStdout(screenshot.path) + screenshot.path = systemTests.normalizeStdout(screenshot.path) }) if (attempt.duration) { @@ -311,7 +311,7 @@ export const expectCorrectModuleApiResult = (json, opts: { if (opts.video) { // normalize video path - run.video = e2e.normalizeStdout(run.video) + run.video = systemTests.normalizeStdout(run.video) } }) } diff --git a/packages/server/test/support/helpers/serverStub.ts b/system-tests/lib/serverStub.ts similarity index 99% rename from packages/server/test/support/helpers/serverStub.ts rename to system-tests/lib/serverStub.ts index ff33266873..1563aceb83 100644 --- a/packages/server/test/support/helpers/serverStub.ts +++ b/system-tests/lib/serverStub.ts @@ -2,7 +2,7 @@ import _ from 'lodash' import Bluebird from 'bluebird' import bodyParser from 'body-parser' import { api as jsonSchemas } from '@cypress/json-schemas' -import e2e from './e2e' +import systemTests from './system-tests' export const postRunResponseWithWarnings = jsonSchemas.getExample('postRunResponse')('2.2.0') @@ -280,7 +280,7 @@ const onServer = (routes) => { } export const setupStubbedServer = (routes, settings = {}) => { - e2e.setup({ + systemTests.setup({ settings: _.extend({ projectId: 'pid123', videoUploadOnPasses: false, diff --git a/system-tests/lib/spec_helper.js b/system-tests/lib/spec_helper.js new file mode 100644 index 0000000000..08346d1e84 --- /dev/null +++ b/system-tests/lib/spec_helper.js @@ -0,0 +1,127 @@ +const root = '@packages/server' + +const chai = require('chai') + +chai.use(require('chai-subset')) + +global.root = root +global.supertest = require('supertest') +global.nock = require('nock') +global.expect = chai.expect +global.mockery = require('mockery') +global.proxyquire = require('proxyquire') +global.sinon = require('sinon') +const _ = require('lodash') +const Promise = require('bluebird') +const path = require('path') +const cache = require(`@packages/server/lib/cache`) + +require('chai') +.use(require('@cypress/sinon-chai')) +.use(require('chai-uuid')) +.use(require('chai-as-promised')) + +if (process.env.UPDATE) { + throw new Error('You\'re using UPDATE=1 which is the old way of updating snapshots.\n\nThe correct environment variable is SNAPSHOT_UPDATE=1') +} + +if (process.env.UPDATE_SNAPSHOT) { + throw new Error('You\'re using UPDATE_SNAPSHOT=1\n\nThe correct environment variable is SNAPSHOT_UPDATE=1') +} + +if (process.env.UPDATE_SNAPSHOTS) { + throw new Error('You\'re using UPDATE_SNAPSHOTS=1\n\nThe correct environment variable is SNAPSHOT_UPDATE=1') +} + +let hasOnly = false; + +// hack for older version of mocha so that +// snap-shot-it can find suite._onlyTests +['it', 'describe', 'context'].forEach((prop) => { + const backup = global[prop].only + + global[prop].only = function (...args) { + hasOnly = true + + return backup.apply(this, args) + } +}) + +const originalEnv = process.env +const env = _.clone(process.env) + +sinon.usingPromise(Promise) + +// backup these originals +const { + restore, + useFakeTimers, +} = sinon + +sinon.useFakeTimers = function (...args) { + sinon._clock = useFakeTimers.apply(sinon, args) +} + +sinon.restore = function (...args) { + let c + + c = sinon._clock + + if (c) { + c.restore() + } + + return restore.apply(sinon, args) +} + +mockery.enable({ + warnOnUnregistered: false, +}) + +// stub out the entire electron object for our stub +// we must use an absolute path here because of the way mockery internally loads this +// module - meaning the first time electron is required it'll use this path string +// so because its required from a separate module we must use an absolute reference to it +mockery.registerSubstitute( + 'electron', + path.join(__dirname, './support/helpers/electron_stub'), +) + +// stub out electron's original-fs module which is available when running in electron +mockery.registerMock('original-fs', {}) + +before(function () { + if (hasOnly) { + this.test.parent._onlyTests = [true] + } +}) + +// appData.ensure() + +beforeEach(function () { + this.originalEnv = originalEnv + + nock.disableNetConnect() + nock.enableNetConnect(/localhost/) + + // always clean up the cache + // before each test + return cache.remove() +}) + +afterEach(() => { + sinon.restore() + + nock.cleanAll() + nock.enableNetConnect() + + process.env = _.clone(env) +}) + +module.exports = { + expect: global.expect, + nock: global.nock, + proxyquire: global.proxyquire, + sinon: global.sinon, + root: global.root, +} diff --git a/packages/server/test/support/helpers/e2e.ts b/system-tests/lib/system-tests.ts similarity index 75% rename from packages/server/test/support/helpers/e2e.ts rename to system-tests/lib/system-tests.ts index 5f778be5af..f739cc3596 100644 --- a/packages/server/test/support/helpers/e2e.ts +++ b/system-tests/lib/system-tests.ts @@ -1,4 +1,7 @@ -import { expect, root } from '../../spec_helper' +const snapshot = require('snap-shot-it') + +import { SpawnOptions } from 'child_process' +import { expect } from './spec_helper' require('mocha-banner').register() const chalk = require('chalk').default @@ -11,19 +14,228 @@ const morgan = require('morgan') const stream = require('stream') const express = require('express') const Bluebird = require('bluebird') -const snapshot = require('snap-shot-it') -const debug = require('debug')('cypress:support:e2e') +const debug = require('debug')('cypress:system-tests') const httpsProxy = require('@packages/https-proxy') const Fixtures = require('./fixtures') -const { fs } = require(`${root}../lib/util/fs`) -const { allowDestroy } = require(`${root}../lib/util/server_destroy`) -const cypress = require(`${root}../lib/cypress`) -const screenshots = require(`${root}../lib/screenshots`) -const videoCapture = require(`${root}../lib/video_capture`) -const settings = require(`${root}../lib/util/settings`) +const { allowDestroy } = require(`@packages/server/lib/util/server_destroy`) +const cypress = require(`@packages/server/lib/cypress`) +const screenshots = require(`@packages/server/lib/screenshots`) +const videoCapture = require(`@packages/server/lib/video_capture`) +const settings = require(`@packages/server/lib/util/settings`) // mutates mocha test runner - needed for `test.titlePath` -require(`${root}../lib/project-base`) +// TODO: fix this - this mutates cwd and is strange in general +require(`@packages/server/lib/project-base`) + +type CypressConfig = { [key: string]: any } + +type BrowserName = 'electron' | 'firefox' | 'chrome' + +type ExecResult = { + code: number + stdout: string + stderr: string +} + +type ExecFn = (options?: ExecOptions) => Promise + +type ItOptions = ExecOptions & { + /** + * If a function is supplied, it will be executed instead of running the `systemTests.exec` function immediately. + */ + onRun?: ( + execFn: ExecFn + ) => Promise | any + /** + * Same as using `systemTests.it.only`. + */ + only?: boolean + /** + * Same as using `systemTests.it.skip`. + */ + skip?: boolean +} + +type ExecOptions = { + /** + * Deprecated. Use `--cypress-inspect-brk` from command line instead. + * @deprecated + */ + inspectBrk?: null + /** + * Deprecated. Use `--no-exit` from command line instead. + * @deprecated + */ + exit?: null + /** + * Don't exit when tests are finished. You can also pass `--no-exit` via the command line. + */ + noExit?: boolean + /** + * The browser to run the system tests on. By default, runs on all. + */ + browser?: BrowserName | Array + /** + * Test timeout in milliseconds. + */ + timeout?: number + /** + * The spec argument to pass to Cypress. + */ + spec?: string + /** + * The project fixture to scaffold and pass to Cypress. + */ + project?: string + /** + * The testing type to use. + */ + testingType?: 'e2e' | 'component' + /** + * If set, asserts that Cypress exited with the given exit code. + * If all is working as it should, this is the number of failing tests. + */ + expectedExitCode?: number + /** + * Force Cypress's server to use the specified port. + */ + port?: number + /** + * Set headed mode. By default system tests run headlessly. + */ + headed?: boolean + /** + * Set if the run should record. By default system tests do not record. + */ + record?: boolean + /** + * Set additional command line args to be passed to the executable. + */ + args?: string[] + /** + * If set, automatically snapshot the test's stdout. + */ + snapshot?: boolean + /** + * Pass a function to assert on and/or modify the stdout before snapshotting. + */ + onStdout?: (stdout: string) => string | void + /** + * User-supplied snapshot title. If unset, one will be autogenerated from the suite name. + */ + originalTitle?: string + /** + * If set, screenshot dimensions will be sanitized for snapshotting purposes. + * @default false + */ + sanitizeScreenshotDimensions?: boolean + /** + * If set, the list of available browsers in stdout will be sanitized for snapshotting purposes. + * @default true + */ + normalizeStdoutAvailableBrowsers?: boolean + /** + * Runs Cypress in quiet mode. + */ + quiet?: boolean + /** + * Run Cypress with parallelization. + */ + parallel?: boolean + /** + * Run Cypress with run groups. + */ + group?: string + /** + * Run Cypress with a CI build ID. + */ + ciBuildId?: string + /** + * Run Cypress with a record key. + */ + key?: string + /** + * Run Cypress with a custom Mocha reporter. + */ + reporter?: string + /** + * Run Cypress with custom reporter options. + */ + reporterOptions?: string + /** + * Run Cypress with CLI config. + */ + config?: CypressConfig + /** + * Set Cypress env vars (not OS-level env) + */ + env?: string + /** + * Set OS-level env vars. + */ + processEnv?: { [key: string]: string | number } + /** + * Set an output path. + */ + outputPath?: string + /** + * Set a run tag. + */ + tag?: string + /** + * Run Cypress with a custom config filename. + */ + configFile?: string + /** + * Set a custom executable to run instead of the default. + */ + command?: string + /** + * Additional options to pass to `cp.spawn`. + */ + spawnOpts?: SpawnOptions + /** + * Emulate a no-typescript environment. + */ + noTypeScript?: boolean + /** + * If set, a dummy `node_modules` project with this name will be set up. + */ + stubPackage?: string +} + +type Server = { + /** + * The port to listen on. + */ + port: number + /** + * If set, use `@packages/https-proxy`'s CA to set up self-signed HTTPS. + */ + https?: boolean + /** + * If set, use `express.static` middleware to serve the e2e project's static assets. + */ + static?: boolean + /** + * If set, use the `cors` middleware to provide CORS headers. + */ + cors?: boolean + /** + * A function that receives the Express app for setting up routes, etc. + */ + onServer?: (app: Express.Application) => void +} + +type SetupOptions = { + servers?: Server | Array + /** + * Set default Cypress config. + */ + settings?: CypressConfig +} + +const serverPath = path.dirname(require.resolve('@packages/server')) cp = Bluebird.promisifyAll(cp) @@ -55,13 +267,13 @@ const expectedAddedVideoSnapshotLines = [ 'This error will not alter the exit code.', '', 'TimeoutError: operation timed out', '[stack trace lines]', '', '', - '│ Video: false │', ] const expectedDeletedVideoSnapshotLines = [ - '│ Video: true │', '(Video)', '', '- Started processing: Compressing to 32 CRF', ] +const sometimesAddedVideoSnapshotLine = '│ Video: false │' +const sometimesDeletedVideoSnapshotLine = '│ Video: true │' const isVideoSnapshotError = (err: Error) => { const [added, deleted] = [[], []] @@ -82,6 +294,9 @@ const isVideoSnapshotError = (err: Error) => { if (line.charAt(0) === '-') deleted.push(line.slice(1).trim()) } + _.pull(added, sometimesAddedVideoSnapshotLine) + _.pull(deleted, sometimesDeletedVideoSnapshotLine) + return _.isEqual(added, expectedAddedVideoSnapshotLines) && _.isEqual(deleted, expectedDeletedVideoSnapshotLines) } @@ -344,7 +559,7 @@ const normalizeToArray = (value) => { return value } -const localItFn = function (title, opts = {}) { +const localItFn = function (title: string, opts: ItOptions) { opts.browser = normalizeToArray(opts.browser) const DEFAULT_OPTIONS = { @@ -362,7 +577,7 @@ const localItFn = function (title, opts = {}) { const options = _.defaults({}, opts, DEFAULT_OPTIONS) if (!title) { - throw new Error('e2e.it(...) must be passed a title as the first argument') + throw new Error('systemTests.it(...) must be passed a title as the first argument') } // LOGIC FOR AUTOGENERATING DYNAMIC TESTS @@ -391,7 +606,7 @@ const localItFn = function (title, opts = {}) { const ctx = this const execFn = (overrides = {}) => { - return e2e.exec(ctx, _.extend({ originalTitle }, options, overrides, { browser })) + return systemTests.exec(ctx, _.extend({ originalTitle }, options, overrides, { browser })) } return options.onRun(execFn, browser, ctx) @@ -401,13 +616,13 @@ const localItFn = function (title, opts = {}) { return _.each(browsersToTest, browserToTest) } -localItFn.only = function (title, options) { +localItFn.only = function (title: string, options: ItOptions) { options.only = true return localItFn(title, options) } -localItFn.skip = function (title, options) { +localItFn.skip = function (title: string, options: ItOptions) { options.skip = true return localItFn(title, options) @@ -423,7 +638,7 @@ const maybeVerifyExitCode = (expectedExitCode, fn) => { return fn() } -const e2e = { +const systemTests = { replaceStackTraceLines, @@ -436,15 +651,13 @@ const e2e = { snapshot (...args) { args = _.compact(args) + // avoid snapshot cwd issue - see /patches/snap-shot* for more information + global.CACHED_CWD_FOR_SNAP_SHOT_IT = path.join(__dirname, '..') + return snapshot.apply(null, args) }, - setup (options = {}) { - // cleanup old node_modules that may have been around from legacy tests - before(() => { - return fs.removeAsync(Fixtures.path('projects/e2e/node_modules')) - }) - + setup (options: SetupOptions = {}) { beforeEach(async function () { // after installing node modules copying all of the fixtures // can take a long time (5-15 secs) @@ -489,12 +702,12 @@ const e2e = { }) }, - options (ctx, options = {}) { + options (ctx, options: ExecOptions) { if (options.inspectBrk != null) { throw new Error(` - passing { inspectBrk: true } to e2e options is no longer supported + passing { inspectBrk: true } to system test options is no longer supported Please pass the --cypress-inspect-brk flag to the test command instead - e.g. "yarn test test/e2e/1_async_timeouts_spec.js --cypress-inspect-brk" + e.g. "yarn test async_timeouts_spec.js --cypress-inspect-brk" `) } @@ -513,9 +726,9 @@ const e2e = { if (options.exit != null) { throw new Error(` - passing { exit: false } to e2e options is no longer supported + passing { exit: false } to system test options is no longer supported Please pass the --no-exit flag to the test command instead - e.g. "yarn test test/e2e/1_async_timeouts_spec.js --no-exit" + e.g. "yarn test async_timeouts_spec.js --no-exit" `) } @@ -546,12 +759,12 @@ const e2e = { return options }, - args (options = {}) { + args (options: ExecOptions) { debug('converting options to args %o', { options }) const args = [ // hides a user warning to go through NPM module - `--cwd=${process.cwd()}`, + `--cwd=${serverPath}`, `--run-project=${options.project}`, `--testingType=${options.testingType || 'e2e'}`, ] @@ -570,7 +783,7 @@ const e2e = { } if (!_.isUndefined(options.headed)) { - args.push('--headed', options.headed) + args.push('--headed', String(options.headed)) } if (options.record) { @@ -640,7 +853,7 @@ const e2e = { return args }, - start (ctx, options = {}) { + start (ctx, options: ExecOptions) { options = this.options(ctx, options) const args = this.args(options) @@ -658,20 +871,20 @@ const e2e = { * Executes a given project and optionally sanitizes and checks output. * @example ``` - e2e.setup() + systemTests.setup() project = Fixtures.projectPath("component-tests") - e2e.exec(this, { + systemTests.exec(this, { project, config: { video: false } }) .then (result) -> - console.log(e2e.normalizeStdout(result.stdout)) + console.log(systemTests.normalizeStdout(result.stdout)) ``` */ - exec (ctx, options = {}) { - debug('e2e exec options %o', options) + exec (ctx, options: ExecOptions) { + debug('systemTests.exec options %o', options) options = this.options(ctx, options) debug('processed options %o', options) let args = this.args(options) @@ -706,7 +919,7 @@ const e2e = { if (ostd) { const newStdout = ostd(stdout) - if (_.isString(newStdout)) { + if (newStdout && _.isString(newStdout)) { stdout = newStdout } } @@ -740,9 +953,9 @@ const e2e = { try { if (options.originalTitle) { - snapshot(options.originalTitle, str, { allowSharedSnapshot: true }) + systemTests.snapshot(options.originalTitle, str, { allowSharedSnapshot: true }) } else { - snapshot(str) + systemTests.snapshot(str) } } catch (err) { // firefox has issues with recording video. for now, ignore snapshot diffs that only differ in this error. @@ -751,7 +964,7 @@ const e2e = { throw err } - console.warn('(e2e warning) Firefox failed to process the video, but this is being ignored due to known issues with video processing in Firefox.') + console.log('(system tests warning) Firefox failed to process the video, but this is being ignored due to known issues with video processing in Firefox.') } } @@ -784,7 +997,7 @@ const e2e = { VIDEO_COMPRESSION_THROTTLE: 120000, // don't fail our own tests running from forked PR's - CYPRESS_INTERNAL_E2E_TESTS: '1', + CYPRESS_INTERNAL_SYSTEM_TESTS: '1', // Emulate no typescript environment CYPRESS_INTERNAL_NO_TYPESCRIPT: options.noTypeScript ? '1' : '0', @@ -867,6 +1080,6 @@ const e2e = { } export { - e2e as default, + systemTests as default, expect, } diff --git a/system-tests/package.json b/system-tests/package.json new file mode 100644 index 0000000000..f88ad8abd1 --- /dev/null +++ b/system-tests/package.json @@ -0,0 +1,80 @@ +{ + "name": "@tooling/system-tests", + "version": "0.0.0-development", + "description": "Internal cypress tests for running across multiple projects which have their own configuration for E2E and CT", + "private": true, + "main": "index.js", + "scripts": { + "test": "node ./scripts/run.js --glob-in-dir=test", + "test:ci": "node ./scripts/run.js" + }, + "devDependencies": { + "@babel/core": "7.9.0", + "@babel/preset-env": "7.9.0", + "@cypress/commit-info": "2.2.0", + "@cypress/debugging-proxy": "2.0.1", + "@cypress/json-schemas": "5.39.0", + "@cypress/request": "2.88.6", + "@cypress/request-promise": "4.2.6", + "@cypress/sinon-chai": "2.9.1", + "@cypress/webpack-preprocessor": "0.0.0-development", + "@ffprobe-installer/ffprobe": "1.1.0", + "@packages/https-proxy": "0.0.0-development", + "@packages/launcher": "0.0.0-development", + "@packages/network": "0.0.0-development", + "@packages/root": "0.0.0-development", + "@packages/server": "0.0.0-development", + "@packages/socket": "0.0.0-development", + "@packages/ts": "0.0.0-development", + "babel-loader": "8.1.0", + "bluebird": "3.7.2", + "body-parser": "1.19.0", + "chai": "1.10.0", + "chai-as-promised": "7.1.1", + "chai-subset": "1.6.0", + "chai-uuid": "1.0.6", + "chalk": "2.4.2", + "chokidar": "3.5.1", + "common-tags": "1.8.0", + "compression": "1.7.4", + "cookie-parser": "1.4.5", + "cors": "2.8.5", + "dayjs": "^1.9.3", + "debug": "4.3.2", + "execa": "1.0.0", + "express": "4.17.1", + "express-session": "1.16.1", + "express-useragent": "1.0.15", + "fluent-ffmpeg": "2.1.2", + "fs-extra": "8.1.0", + "http-mitm-proxy": "0.7.0", + "https-proxy-agent": "3.0.1", + "human-interval": "1.0.0", + "image-size": "0.8.3", + "lazy-ass": "1.6.0", + "lodash": "4.17.21", + "mocha": "7.1.0", + "mocha-banner": "1.1.2", + "mochawesome-1.5.2": "npm:mochawesome@1.5.2", + "mochawesome-2.3.1": "npm:mochawesome@2.3.1", + "mochawesome-3.0.1": "npm:mochawesome@3.0.1", + "mocked-env": "1.2.4", + "mockery": "2.1.0", + "morgan": "1.9.1", + "multer": "1.4.2", + "nock": "12.0.2", + "proxyquire": "2.1.3", + "ramda": "0.27.1", + "semver": "7.3.2", + "sinon": "5.1.1", + "snap-shot-it": "7.9.3", + "ssestream": "1.0.1", + "supertest": "4.0.2", + "systeminformation": "5.6.4", + "webpack": "4.43.0", + "ws": "5.2.3" + }, + "license": "ISC", + "author": "", + "keywords": [] +} diff --git a/packages/server/test/support/fixtures/projects/.eslintrc.json b/system-tests/projects/.eslintrc.json similarity index 100% rename from packages/server/test/support/fixtures/projects/.eslintrc.json rename to system-tests/projects/.eslintrc.json diff --git a/packages/server/test/support/fixtures/projects/browser-extensions/cypress.json b/system-tests/projects/browser-extensions/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/browser-extensions/cypress.json rename to system-tests/projects/browser-extensions/cypress.json diff --git a/packages/server/test/support/fixtures/projects/browser-extensions/cypress/integration/spec.js b/system-tests/projects/browser-extensions/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/browser-extensions/cypress/integration/spec.js rename to system-tests/projects/browser-extensions/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/browser-extensions/cypress/plugins/index.js b/system-tests/projects/browser-extensions/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/browser-extensions/cypress/plugins/index.js rename to system-tests/projects/browser-extensions/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/browser-extensions/index.html b/system-tests/projects/browser-extensions/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/browser-extensions/index.html rename to system-tests/projects/browser-extensions/index.html diff --git a/packages/server/test/support/fixtures/projects/busted-support-file/cypress.json b/system-tests/projects/busted-support-file/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/busted-support-file/cypress.json rename to system-tests/projects/busted-support-file/cypress.json diff --git a/packages/server/test/support/fixtures/projects/busted-support-file/cypress/integration/app_spec.js b/system-tests/projects/busted-support-file/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/busted-support-file/cypress/integration/app_spec.js rename to system-tests/projects/busted-support-file/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/busted-support-file/cypress/support/index.js b/system-tests/projects/busted-support-file/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/busted-support-file/cypress/support/index.js rename to system-tests/projects/busted-support-file/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/chrome-browser-preferences/cypress.json b/system-tests/projects/chrome-browser-preferences/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/chrome-browser-preferences/cypress.json rename to system-tests/projects/chrome-browser-preferences/cypress.json diff --git a/packages/server/test/support/fixtures/projects/chrome-browser-preferences/cypress/integration/spec.js b/system-tests/projects/chrome-browser-preferences/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/chrome-browser-preferences/cypress/integration/spec.js rename to system-tests/projects/chrome-browser-preferences/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/chrome-browser-preferences/cypress/plugins/index.js b/system-tests/projects/chrome-browser-preferences/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/chrome-browser-preferences/cypress/plugins/index.js rename to system-tests/projects/chrome-browser-preferences/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/component-tests/cypress.json b/system-tests/projects/component-tests/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/component-tests/cypress.json rename to system-tests/projects/component-tests/cypress.json diff --git a/packages/server/test/support/fixtures/projects/component-tests/cypress/component-tests/fails.spec.js b/system-tests/projects/component-tests/cypress/component-tests/fails.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/component-tests/cypress/component-tests/fails.spec.js rename to system-tests/projects/component-tests/cypress/component-tests/fails.spec.js diff --git a/packages/server/test/support/fixtures/projects/component-tests/cypress/component-tests/foo.spec.js b/system-tests/projects/component-tests/cypress/component-tests/foo.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/component-tests/cypress/component-tests/foo.spec.js rename to system-tests/projects/component-tests/cypress/component-tests/foo.spec.js diff --git a/packages/server/test/support/fixtures/projects/component-tests/cypress/integration/integration-spec.js b/system-tests/projects/component-tests/cypress/integration/integration-spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/component-tests/cypress/integration/integration-spec.js rename to system-tests/projects/component-tests/cypress/integration/integration-spec.js diff --git a/packages/server/test/support/fixtures/projects/component-tests/cypress/plugins/index.js b/system-tests/projects/component-tests/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/component-tests/cypress/plugins/index.js rename to system-tests/projects/component-tests/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/config-with-custom-file-js/cypress.config.custom.js b/system-tests/projects/config-with-custom-file-js/cypress.config.custom.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-custom-file-js/cypress.config.custom.js rename to system-tests/projects/config-with-custom-file-js/cypress.config.custom.js diff --git a/packages/server/test/support/fixtures/projects/config-with-custom-file-js/cypress/integration/app_spec.js b/system-tests/projects/config-with-custom-file-js/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-custom-file-js/cypress/integration/app_spec.js rename to system-tests/projects/config-with-custom-file-js/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/config-with-custom-file-ts/cypress.config.custom.ts b/system-tests/projects/config-with-custom-file-ts/cypress.config.custom.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-custom-file-ts/cypress.config.custom.ts rename to system-tests/projects/config-with-custom-file-ts/cypress.config.custom.ts diff --git a/packages/server/test/support/fixtures/projects/config-with-custom-file-ts/cypress/integration/app_spec.js b/system-tests/projects/config-with-custom-file-ts/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-custom-file-ts/cypress/integration/app_spec.js rename to system-tests/projects/config-with-custom-file-ts/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress.json b/system-tests/projects/config-with-invalid-browser/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress.json rename to system-tests/projects/config-with-invalid-browser/cypress.json diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/fixtures/example.json b/system-tests/projects/config-with-invalid-browser/cypress/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/fixtures/example.json rename to system-tests/projects/config-with-invalid-browser/cypress/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/integration/app_spec.js b/system-tests/projects/config-with-invalid-browser/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/integration/app_spec.js rename to system-tests/projects/config-with-invalid-browser/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/plugins/index.js b/system-tests/projects/config-with-invalid-browser/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/plugins/index.js rename to system-tests/projects/config-with-invalid-browser/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/support/commands.js b/system-tests/projects/config-with-invalid-browser/cypress/support/commands.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/support/commands.js rename to system-tests/projects/config-with-invalid-browser/cypress/support/commands.js diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/support/index.js b/system-tests/projects/config-with-invalid-browser/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-browser/cypress/support/index.js rename to system-tests/projects/config-with-invalid-browser/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-viewport/cypress.json b/system-tests/projects/config-with-invalid-viewport/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-viewport/cypress.json rename to system-tests/projects/config-with-invalid-viewport/cypress.json diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-viewport/cypress/integration/app_spec.js b/system-tests/projects/config-with-invalid-viewport/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-viewport/cypress/integration/app_spec.js rename to system-tests/projects/config-with-invalid-viewport/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/config-with-invalid-viewport/cypress/plugins/index.js b/system-tests/projects/config-with-invalid-viewport/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-invalid-viewport/cypress/plugins/index.js rename to system-tests/projects/config-with-invalid-viewport/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/config-with-js/cypress.config.js b/system-tests/projects/config-with-js/cypress.config.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-js/cypress.config.js rename to system-tests/projects/config-with-js/cypress.config.js diff --git a/packages/server/test/support/fixtures/projects/config-with-js/cypress/integration/app_spec.js b/system-tests/projects/config-with-js/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-js/cypress/integration/app_spec.js rename to system-tests/projects/config-with-js/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/config-with-short-timeout/cypress.json b/system-tests/projects/config-with-short-timeout/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-short-timeout/cypress.json rename to system-tests/projects/config-with-short-timeout/cypress.json diff --git a/packages/server/test/support/fixtures/projects/config-with-short-timeout/cypress/integration/dom_times_out_spec.js b/system-tests/projects/config-with-short-timeout/cypress/integration/dom_times_out_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-short-timeout/cypress/integration/dom_times_out_spec.js rename to system-tests/projects/config-with-short-timeout/cypress/integration/dom_times_out_spec.js diff --git a/packages/server/test/support/fixtures/projects/config-with-short-timeout/index.html b/system-tests/projects/config-with-short-timeout/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-short-timeout/index.html rename to system-tests/projects/config-with-short-timeout/index.html diff --git a/packages/server/test/support/fixtures/projects/config-with-ts/cypress.config.ts b/system-tests/projects/config-with-ts/cypress.config.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-ts/cypress.config.ts rename to system-tests/projects/config-with-ts/cypress.config.ts diff --git a/packages/server/test/support/fixtures/projects/config-with-ts/cypress/integration/app_spec.js b/system-tests/projects/config-with-ts/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/config-with-ts/cypress/integration/app_spec.js rename to system-tests/projects/config-with-ts/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/cookies/cypress.json b/system-tests/projects/cookies/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/cookies/cypress.json rename to system-tests/projects/cookies/cypress.json diff --git a/packages/server/test/support/fixtures/projects/cookies/cypress/integration/app_spec.js b/system-tests/projects/cookies/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/cookies/cypress/integration/app_spec.js rename to system-tests/projects/cookies/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/default-layout/cypress.json b/system-tests/projects/default-layout/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/default-layout/cypress.json rename to system-tests/projects/default-layout/cypress.json diff --git a/packages/server/test/support/fixtures/projects/default-layout/cypress/integration/default_layout_spec.js b/system-tests/projects/default-layout/cypress/integration/default_layout_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/default-layout/cypress/integration/default_layout_spec.js rename to system-tests/projects/default-layout/cypress/integration/default_layout_spec.js diff --git a/packages/server/test/support/fixtures/projects/default-layout/views/layout.html b/system-tests/projects/default-layout/views/layout.html similarity index 100% rename from packages/server/test/support/fixtures/projects/default-layout/views/layout.html rename to system-tests/projects/default-layout/views/layout.html diff --git a/system-tests/projects/downloads/.gitignore b/system-tests/projects/downloads/.gitignore new file mode 100644 index 0000000000..4ff4547186 --- /dev/null +++ b/system-tests/projects/downloads/.gitignore @@ -0,0 +1,2 @@ +cypress/downloads +cypress/videos \ No newline at end of file diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress.json b/system-tests/projects/downloads/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress.json rename to system-tests/projects/downloads/cypress.json diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/downloads.html b/system-tests/projects/downloads/cypress/fixtures/downloads.html similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/downloads.html rename to system-tests/projects/downloads/cypress/fixtures/downloads.html diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/files.zip b/system-tests/projects/downloads/cypress/fixtures/files.zip similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/files.zip rename to system-tests/projects/downloads/cypress/fixtures/files.zip diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/people.xlsx b/system-tests/projects/downloads/cypress/fixtures/people.xlsx similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/people.xlsx rename to system-tests/projects/downloads/cypress/fixtures/people.xlsx diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/records.csv b/system-tests/projects/downloads/cypress/fixtures/records.csv similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/fixtures/records.csv rename to system-tests/projects/downloads/cypress/fixtures/records.csv diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/integration/download_csv_spec.ts b/system-tests/projects/downloads/cypress/integration/download_csv_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/integration/download_csv_spec.ts rename to system-tests/projects/downloads/cypress/integration/download_csv_spec.ts diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/integration/downloads_spec.ts b/system-tests/projects/downloads/cypress/integration/downloads_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/integration/downloads_spec.ts rename to system-tests/projects/downloads/cypress/integration/downloads_spec.ts diff --git a/packages/server/test/support/fixtures/projects/downloads/cypress/integration/simple_passing_spec.ts b/system-tests/projects/downloads/cypress/integration/simple_passing_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/downloads/cypress/integration/simple_passing_spec.ts rename to system-tests/projects/downloads/cypress/integration/simple_passing_spec.ts diff --git a/packages/server/test/support/fixtures/projects/failures/cypress/cypress.json b/system-tests/projects/downloads/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/failures/cypress/cypress.json rename to system-tests/projects/downloads/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/e2e/cross_origin_script.html b/system-tests/projects/e2e/cross_origin_script.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cross_origin_script.html rename to system-tests/projects/e2e/cross_origin_script.html diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress-alt.json b/system-tests/projects/e2e/cypress-alt.json similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress-alt.json rename to system-tests/projects/e2e/cypress-alt.json diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress.json b/system-tests/projects/e2e/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress.json rename to system-tests/projects/e2e/cypress.json diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/component/simple_failing_spec.js b/system-tests/projects/e2e/cypress/component/simple_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/component/simple_failing_spec.js rename to system-tests/projects/e2e/cypress/component/simple_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/bigger-sample.pdf b/system-tests/projects/e2e/cypress/fixtures/bigger-sample.pdf similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/bigger-sample.pdf rename to system-tests/projects/e2e/cypress/fixtures/bigger-sample.pdf diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/example.json b/system-tests/projects/e2e/cypress/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/example.json rename to system-tests/projects/e2e/cypress/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/mjs_file.mjs b/system-tests/projects/e2e/cypress/fixtures/mjs_file.mjs similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/mjs_file.mjs rename to system-tests/projects/e2e/cypress/fixtures/mjs_file.mjs diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/sample.jpg b/system-tests/projects/e2e/cypress/fixtures/sample.jpg similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/sample.jpg rename to system-tests/projects/e2e/cypress/fixtures/sample.jpg diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/sample.pdf b/system-tests/projects/e2e/cypress/fixtures/sample.pdf similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/fixtures/sample.pdf rename to system-tests/projects/e2e/cypress/fixtures/sample.pdf diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/a_record.spec.js b/system-tests/projects/e2e/cypress/integration/a_record.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/a_record.spec.js rename to system-tests/projects/e2e/cypress/integration/a_record.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/a_record_instantfail.spec.js b/system-tests/projects/e2e/cypress/integration/a_record_instantfail.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/a_record_instantfail.spec.js rename to system-tests/projects/e2e/cypress/integration/a_record_instantfail.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/assertions_failing_outside_of_test_spec.js b/system-tests/projects/e2e/cypress/integration/assertions_failing_outside_of_test_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/assertions_failing_outside_of_test_spec.js rename to system-tests/projects/e2e/cypress/integration/assertions_failing_outside_of_test_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/assertions_passing_outside_of_test_spec.js b/system-tests/projects/e2e/cypress/integration/assertions_passing_outside_of_test_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/assertions_passing_outside_of_test_spec.js rename to system-tests/projects/e2e/cypress/integration/assertions_passing_outside_of_test_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/async_timeouts_spec.js b/system-tests/projects/e2e/cypress/integration/async_timeouts_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/async_timeouts_spec.js rename to system-tests/projects/e2e/cypress/integration/async_timeouts_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/b_record.spec.js b/system-tests/projects/e2e/cypress/integration/b_record.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/b_record.spec.js rename to system-tests/projects/e2e/cypress/integration/b_record.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/base_url_spec.js b/system-tests/projects/e2e/cypress/integration/base_url_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/base_url_spec.js rename to system-tests/projects/e2e/cypress/integration/base_url_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/block_hosts_spec.js b/system-tests/projects/e2e/cypress/integration/block_hosts_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/block_hosts_spec.js rename to system-tests/projects/e2e/cypress/integration/block_hosts_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/cache_clearing_spec.js b/system-tests/projects/e2e/cypress/integration/cache_clearing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/cache_clearing_spec.js rename to system-tests/projects/e2e/cypress/integration/cache_clearing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/cache_spec.js b/system-tests/projects/e2e/cypress/integration/cache_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/cache_spec.js rename to system-tests/projects/e2e/cypress/integration/cache_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/caught_async_sync_test_spec.js b/system-tests/projects/e2e/cypress/integration/caught_async_sync_test_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/caught_async_sync_test_spec.js rename to system-tests/projects/e2e/cypress/integration/caught_async_sync_test_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/character_encoding_spec.js b/system-tests/projects/e2e/cypress/integration/character_encoding_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/character_encoding_spec.js rename to system-tests/projects/e2e/cypress/integration/character_encoding_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/commands_outside_of_test_spec.js b/system-tests/projects/e2e/cypress/integration/commands_outside_of_test_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/commands_outside_of_test_spec.js rename to system-tests/projects/e2e/cypress/integration/commands_outside_of_test_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/config_passing_spec.js b/system-tests/projects/e2e/cypress/integration/config_passing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/config_passing_spec.js rename to system-tests/projects/e2e/cypress/integration/config_passing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/config_record_spec.js b/system-tests/projects/e2e/cypress/integration/config_record_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/config_record_spec.js rename to system-tests/projects/e2e/cypress/integration/config_record_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/cookies_spec_baseurl.js b/system-tests/projects/e2e/cypress/integration/cookies_spec_baseurl.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/cookies_spec_baseurl.js rename to system-tests/projects/e2e/cypress/integration/cookies_spec_baseurl.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/cookies_spec_no_baseurl.js b/system-tests/projects/e2e/cypress/integration/cookies_spec_no_baseurl.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/cookies_spec_no_baseurl.js rename to system-tests/projects/e2e/cypress/integration/cookies_spec_no_baseurl.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/domain_2_spec.js b/system-tests/projects/e2e/cypress/integration/domain_2_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/domain_2_spec.js rename to system-tests/projects/e2e/cypress/integration/domain_2_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/domain_spec.js b/system-tests/projects/e2e/cypress/integration/domain_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/domain_spec.js rename to system-tests/projects/e2e/cypress/integration/domain_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/empty.spec.js b/system-tests/projects/e2e/cypress/integration/empty.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/empty.spec.js rename to system-tests/projects/e2e/cypress/integration/empty.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/empty_suite.spec.js b/system-tests/projects/e2e/cypress/integration/empty_suite.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/empty_suite.spec.js rename to system-tests/projects/e2e/cypress/integration/empty_suite.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/ended_early_failing_spec.js b/system-tests/projects/e2e/cypress/integration/ended_early_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/ended_early_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/ended_early_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/es_module_import_failing_spec.js b/system-tests/projects/e2e/cypress/integration/es_module_import_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/es_module_import_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/es_module_import_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/es_modules_in_coffee_spec.coffee b/system-tests/projects/e2e/cypress/integration/es_modules_in_coffee_spec.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/es_modules_in_coffee_spec.coffee rename to system-tests/projects/e2e/cypress/integration/es_modules_in_coffee_spec.coffee diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/fast_visit_spec.js b/system-tests/projects/e2e/cypress/integration/fast_visit_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/fast_visit_spec.js rename to system-tests/projects/e2e/cypress/integration/fast_visit_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/fetch_no_polyfill_spec.js b/system-tests/projects/e2e/cypress/integration/fetch_no_polyfill_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/fetch_no_polyfill_spec.js rename to system-tests/projects/e2e/cypress/integration/fetch_no_polyfill_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/fetch_spec.js b/system-tests/projects/e2e/cypress/integration/fetch_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/fetch_spec.js rename to system-tests/projects/e2e/cypress/integration/fetch_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/firefox_windowSize.js b/system-tests/projects/e2e/cypress/integration/firefox_windowSize.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/firefox_windowSize.js rename to system-tests/projects/e2e/cypress/integration/firefox_windowSize.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/form_submission_failing_spec.js b/system-tests/projects/e2e/cypress/integration/form_submission_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/form_submission_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/form_submission_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/form_submission_multipart_spec.js b/system-tests/projects/e2e/cypress/integration/form_submission_multipart_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/form_submission_multipart_spec.js rename to system-tests/projects/e2e/cypress/integration/form_submission_multipart_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/form_submission_passing_spec.js b/system-tests/projects/e2e/cypress/integration/form_submission_passing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/form_submission_passing_spec.js rename to system-tests/projects/e2e/cypress/integration/form_submission_passing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/go_spec.js b/system-tests/projects/e2e/cypress/integration/go_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/go_spec.js rename to system-tests/projects/e2e/cypress/integration/go_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/hanging_retries_spec.js b/system-tests/projects/e2e/cypress/integration/hanging_retries_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/hanging_retries_spec.js rename to system-tests/projects/e2e/cypress/integration/hanging_retries_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/headless_spec.js b/system-tests/projects/e2e/cypress/integration/headless_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/headless_spec.js rename to system-tests/projects/e2e/cypress/integration/headless_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_caught_error_failing_spec.js b/system-tests/projects/e2e/cypress/integration/hook_caught_error_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_caught_error_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/hook_caught_error_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_uncaught_error_events_failing_spec.js b/system-tests/projects/e2e/cypress/integration/hook_uncaught_error_events_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_uncaught_error_events_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/hook_uncaught_error_events_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_uncaught_error_failing_spec.js b/system-tests/projects/e2e/cypress/integration/hook_uncaught_error_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_uncaught_error_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/hook_uncaught_error_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_uncaught_root_error_failing_spec.js b/system-tests/projects/e2e/cypress/integration/hook_uncaught_root_error_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/hook_uncaught_root_error_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/hook_uncaught_root_error_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/https_passthru_spec.js b/system-tests/projects/e2e/cypress/integration/https_passthru_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/https_passthru_spec.js rename to system-tests/projects/e2e/cypress/integration/https_passthru_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/iframe_spec.js b/system-tests/projects/e2e/cypress/integration/iframe_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/iframe_spec.js rename to system-tests/projects/e2e/cypress/integration/iframe_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/images_spec.js b/system-tests/projects/e2e/cypress/integration/images_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/images_spec.js rename to system-tests/projects/e2e/cypress/integration/images_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_149_spec.js b/system-tests/projects/e2e/cypress/integration/issue_149_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_149_spec.js rename to system-tests/projects/e2e/cypress/integration/issue_149_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_1669_spec.js b/system-tests/projects/e2e/cypress/integration/issue_1669_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_1669_spec.js rename to system-tests/projects/e2e/cypress/integration/issue_1669_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_173_spec.js b/system-tests/projects/e2e/cypress/integration/issue_173_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_173_spec.js rename to system-tests/projects/e2e/cypress/integration/issue_173_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_2196_spec.js b/system-tests/projects/e2e/cypress/integration/issue_2196_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_2196_spec.js rename to system-tests/projects/e2e/cypress/integration/issue_2196_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_5475_spec_1.js b/system-tests/projects/e2e/cypress/integration/issue_5475_spec_1.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_5475_spec_1.js rename to system-tests/projects/e2e/cypress/integration/issue_5475_spec_1.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_5475_spec_2.js b/system-tests/projects/e2e/cypress/integration/issue_5475_spec_2.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_5475_spec_2.js rename to system-tests/projects/e2e/cypress/integration/issue_5475_spec_2.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_674_spec.js b/system-tests/projects/e2e/cypress/integration/issue_674_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/issue_674_spec.js rename to system-tests/projects/e2e/cypress/integration/issue_674_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/js_error_handling_failing_spec.js b/system-tests/projects/e2e/cypress/integration/js_error_handling_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/js_error_handling_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/js_error_handling_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/mjs_spec.mjs b/system-tests/projects/e2e/cypress/integration/mjs_spec.mjs similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/mjs_spec.mjs rename to system-tests/projects/e2e/cypress/integration/mjs_spec.mjs diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/multi_cookies_spec.js b/system-tests/projects/e2e/cypress/integration/multi_cookies_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/multi_cookies_spec.js rename to system-tests/projects/e2e/cypress/integration/multi_cookies_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/spec.js b/system-tests/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/spec.js rename to system-tests/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile.js b/system-tests/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile.js rename to system-tests/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile_display_spec_with_a_really_long_name_that_never_has_a_line_break_or_new_line.js b/system-tests/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile_display_spec_with_a_really_long_name_that_never_has_a_line_break_or_new_line.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile_display_spec_with_a_really_long_name_that_never_has_a_line_break_or_new_line.js rename to system-tests/projects/e2e/cypress/integration/nested-1/nested-2/nested-3/stdout_specfile_display_spec_with_a_really_long_name_that_never_has_a_line_break_or_new_line.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/screenshot_nested_file_spec.js b/system-tests/projects/e2e/cypress/integration/nested-1/nested-2/screenshot_nested_file_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/nested-1/nested-2/screenshot_nested_file_spec.js rename to system-tests/projects/e2e/cypress/integration/nested-1/nested-2/screenshot_nested_file_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/network_error_304_handling_spec.js b/system-tests/projects/e2e/cypress/integration/network_error_304_handling_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/network_error_304_handling_spec.js rename to system-tests/projects/e2e/cypress/integration/network_error_304_handling_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/network_error_handling_spec.js b/system-tests/projects/e2e/cypress/integration/network_error_handling_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/network_error_handling_spec.js rename to system-tests/projects/e2e/cypress/integration/network_error_handling_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/no_superfluous_screenshots_spec.js b/system-tests/projects/e2e/cypress/integration/no_superfluous_screenshots_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/no_superfluous_screenshots_spec.js rename to system-tests/projects/e2e/cypress/integration/no_superfluous_screenshots_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/node_builtins_spec.js b/system-tests/projects/e2e/cypress/integration/node_builtins_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/node_builtins_spec.js rename to system-tests/projects/e2e/cypress/integration/node_builtins_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/only_multiple_spec.js b/system-tests/projects/e2e/cypress/integration/only_multiple_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/only_multiple_spec.js rename to system-tests/projects/e2e/cypress/integration/only_multiple_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/only_spec.js b/system-tests/projects/e2e/cypress/integration/only_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/only_spec.js rename to system-tests/projects/e2e/cypress/integration/only_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/page_loading_spec.js b/system-tests/projects/e2e/cypress/integration/page_loading_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/page_loading_spec.js rename to system-tests/projects/e2e/cypress/integration/page_loading_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/plugins_config_extras_spec.js b/system-tests/projects/e2e/cypress/integration/plugins_config_extras_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/plugins_config_extras_spec.js rename to system-tests/projects/e2e/cypress/integration/plugins_config_extras_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/promises_spec.js b/system-tests/projects/e2e/cypress/integration/promises_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/promises_spec.js rename to system-tests/projects/e2e/cypress/integration/promises_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/proxying_spec.js b/system-tests/projects/e2e/cypress/integration/proxying_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/proxying_spec.js rename to system-tests/projects/e2e/cypress/integration/proxying_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_error_spec.js b/system-tests/projects/e2e/cypress/integration/record_error_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_error_spec.js rename to system-tests/projects/e2e/cypress/integration/record_error_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_fail_spec.js b/system-tests/projects/e2e/cypress/integration/record_fail_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_fail_spec.js rename to system-tests/projects/e2e/cypress/integration/record_fail_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_pass_spec.js b/system-tests/projects/e2e/cypress/integration/record_pass_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_pass_spec.js rename to system-tests/projects/e2e/cypress/integration/record_pass_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_uncaught_spec.js b/system-tests/projects/e2e/cypress/integration/record_uncaught_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/record_uncaught_spec.js rename to system-tests/projects/e2e/cypress/integration/record_uncaught_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/reload-spec.spec.js b/system-tests/projects/e2e/cypress/integration/reload-spec.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/reload-spec.spec.js rename to system-tests/projects/e2e/cypress/integration/reload-spec.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_http_network_error_failing_spec.js b/system-tests/projects/e2e/cypress/integration/request_http_network_error_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_http_network_error_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/request_http_network_error_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_long_http_props_failing_spec.js b/system-tests/projects/e2e/cypress/integration/request_long_http_props_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_long_http_props_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/request_long_http_props_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_spec.js b/system-tests/projects/e2e/cypress/integration/request_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_spec.js rename to system-tests/projects/e2e/cypress/integration/request_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_status_code_failing_spec.js b/system-tests/projects/e2e/cypress/integration/request_status_code_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/request_status_code_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/request_status_code_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/return_value_spec.js b/system-tests/projects/e2e/cypress/integration/return_value_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/return_value_spec.js rename to system-tests/projects/e2e/cypress/integration/return_value_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/runnables_already_run_suite.js b/system-tests/projects/e2e/cypress/integration/runnables_already_run_suite.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/runnables_already_run_suite.js rename to system-tests/projects/e2e/cypress/integration/runnables_already_run_suite.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshot_element_capture_spec.js b/system-tests/projects/e2e/cypress/integration/screenshot_element_capture_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshot_element_capture_spec.js rename to system-tests/projects/e2e/cypress/integration/screenshot_element_capture_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshot_fullpage_capture_spec.js b/system-tests/projects/e2e/cypress/integration/screenshot_fullpage_capture_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshot_fullpage_capture_spec.js rename to system-tests/projects/e2e/cypress/integration/screenshot_fullpage_capture_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshot_viewport_capture_spec.js b/system-tests/projects/e2e/cypress/integration/screenshot_viewport_capture_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshot_viewport_capture_spec.js rename to system-tests/projects/e2e/cypress/integration/screenshot_viewport_capture_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshots_spec.js b/system-tests/projects/e2e/cypress/integration/screenshots_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/screenshots_spec.js rename to system-tests/projects/e2e/cypress/integration/screenshots_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/server_sent_events_spec.js b/system-tests/projects/e2e/cypress/integration/server_sent_events_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/server_sent_events_spec.js rename to system-tests/projects/e2e/cypress/integration/server_sent_events_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/session_persist_spec_1.js b/system-tests/projects/e2e/cypress/integration/session_persist_spec_1.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/session_persist_spec_1.js rename to system-tests/projects/e2e/cypress/integration/session_persist_spec_1.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/session_persist_spec_2.js b/system-tests/projects/e2e/cypress/integration/session_persist_spec_2.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/session_persist_spec_2.js rename to system-tests/projects/e2e/cypress/integration/session_persist_spec_2.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/session_spec.js b/system-tests/projects/e2e/cypress/integration/session_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/session_spec.js rename to system-tests/projects/e2e/cypress/integration/session_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_failing_hook_spec.js b/system-tests/projects/e2e/cypress/integration/simple_failing_hook_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_failing_hook_spec.js rename to system-tests/projects/e2e/cypress/integration/simple_failing_hook_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_failing_spec.js b/system-tests/projects/e2e/cypress/integration/simple_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/simple_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_hooks_spec.js b/system-tests/projects/e2e/cypress/integration/simple_hooks_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_hooks_spec.js rename to system-tests/projects/e2e/cypress/integration/simple_hooks_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_passing_spec.js b/system-tests/projects/e2e/cypress/integration/simple_passing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_passing_spec.js rename to system-tests/projects/e2e/cypress/integration/simple_passing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_retrying_spec.js b/system-tests/projects/e2e/cypress/integration/simple_retrying_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_retrying_spec.js rename to system-tests/projects/e2e/cypress/integration/simple_retrying_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_spec.js b/system-tests/projects/e2e/cypress/integration/simple_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/simple_spec.js rename to system-tests/projects/e2e/cypress/integration/simple_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/source_rewriting_spec.js b/system-tests/projects/e2e/cypress/integration/source_rewriting_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/source_rewriting_spec.js rename to system-tests/projects/e2e/cypress/integration/source_rewriting_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_assertion_errors_spec.js b/system-tests/projects/e2e/cypress/integration/stdout_assertion_errors_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_assertion_errors_spec.js rename to system-tests/projects/e2e/cypress/integration/stdout_assertion_errors_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_exit_early_failing_spec.js b/system-tests/projects/e2e/cypress/integration/stdout_exit_early_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_exit_early_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/stdout_exit_early_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_failing_spec.js b/system-tests/projects/e2e/cypress/integration/stdout_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/stdout_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_passing_spec.js b/system-tests/projects/e2e/cypress/integration/stdout_passing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/stdout_passing_spec.js rename to system-tests/projects/e2e/cypress/integration/stdout_passing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/studio_written.spec.js b/system-tests/projects/e2e/cypress/integration/studio_written.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/studio_written.spec.js rename to system-tests/projects/e2e/cypress/integration/studio_written.spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/subdomain_spec.js b/system-tests/projects/e2e/cypress/integration/subdomain_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/subdomain_spec.js rename to system-tests/projects/e2e/cypress/integration/subdomain_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/task_spec.js b/system-tests/projects/e2e/cypress/integration/task_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/task_spec.js rename to system-tests/projects/e2e/cypress/integration/task_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/testConfigOverrides-invalid-browser.js b/system-tests/projects/e2e/cypress/integration/testConfigOverrides-invalid-browser.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/testConfigOverrides-invalid-browser.js rename to system-tests/projects/e2e/cypress/integration/testConfigOverrides-invalid-browser.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/testConfigOverrides-skip-browser.js b/system-tests/projects/e2e/cypress/integration/testConfigOverrides-skip-browser.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/testConfigOverrides-skip-browser.js rename to system-tests/projects/e2e/cypress/integration/testConfigOverrides-skip-browser.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/typescript_passing_spec.ts b/system-tests/projects/e2e/cypress/integration/typescript_passing_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/typescript_passing_spec.ts rename to system-tests/projects/e2e/cypress/integration/typescript_passing_spec.ts diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/typescript_syntax_error_spec.ts b/system-tests/projects/e2e/cypress/integration/typescript_syntax_error_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/typescript_syntax_error_spec.ts rename to system-tests/projects/e2e/cypress/integration/typescript_syntax_error_spec.ts diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_during_hook_spec.js b/system-tests/projects/e2e/cypress/integration/uncaught_during_hook_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_during_hook_spec.js rename to system-tests/projects/e2e/cypress/integration/uncaught_during_hook_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_during_test_spec.js b/system-tests/projects/e2e/cypress/integration/uncaught_during_test_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_during_test_spec.js rename to system-tests/projects/e2e/cypress/integration/uncaught_during_test_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_synchronous_before_tests_parsed.js b/system-tests/projects/e2e/cypress/integration/uncaught_synchronous_before_tests_parsed.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_synchronous_before_tests_parsed.js rename to system-tests/projects/e2e/cypress/integration/uncaught_synchronous_before_tests_parsed.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_synchronous_during_hook_spec.js b/system-tests/projects/e2e/cypress/integration/uncaught_synchronous_during_hook_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/uncaught_synchronous_during_hook_spec.js rename to system-tests/projects/e2e/cypress/integration/uncaught_synchronous_during_hook_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/user_agent_spec.js b/system-tests/projects/e2e/cypress/integration/user_agent_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/user_agent_spec.js rename to system-tests/projects/e2e/cypress/integration/user_agent_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/video_compression_spec.js b/system-tests/projects/e2e/cypress/integration/video_compression_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/video_compression_spec.js rename to system-tests/projects/e2e/cypress/integration/video_compression_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/viewport_spec.js b/system-tests/projects/e2e/cypress/integration/viewport_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/viewport_spec.js rename to system-tests/projects/e2e/cypress/integration/viewport_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_file_404_response_failing_spec.js b/system-tests/projects/e2e/cypress/integration/visit_file_404_response_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_file_404_response_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_file_404_response_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_http_500_response_failing_spec.js b/system-tests/projects/e2e/cypress/integration/visit_http_500_response_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_http_500_response_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_http_500_response_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_http_network_error_failing_spec.js b/system-tests/projects/e2e/cypress/integration/visit_http_network_error_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_http_network_error_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_http_network_error_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_http_timeout_failing_spec.js b/system-tests/projects/e2e/cypress/integration/visit_http_timeout_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_http_timeout_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_http_timeout_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_non_html_content_type_failing_spec.js b/system-tests/projects/e2e/cypress/integration/visit_non_html_content_type_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_non_html_content_type_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_non_html_content_type_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_response_never_ends_failing_spec.js b/system-tests/projects/e2e/cypress/integration/visit_response_never_ends_failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_response_never_ends_failing_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_response_never_ends_failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_spec.js b/system-tests/projects/e2e/cypress/integration/visit_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/visit_spec.js rename to system-tests/projects/e2e/cypress/integration/visit_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/web_security_spec.js b/system-tests/projects/e2e/cypress/integration/web_security_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/web_security_spec.js rename to system-tests/projects/e2e/cypress/integration/web_security_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/websockets_spec.js b/system-tests/projects/e2e/cypress/integration/websockets_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/websockets_spec.js rename to system-tests/projects/e2e/cypress/integration/websockets_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/window_open_spec.coffee b/system-tests/projects/e2e/cypress/integration/window_open_spec.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/window_open_spec.coffee rename to system-tests/projects/e2e/cypress/integration/window_open_spec.coffee diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/integration/xhr_spec.js b/system-tests/projects/e2e/cypress/integration/xhr_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/integration/xhr_spec.js rename to system-tests/projects/e2e/cypress/integration/xhr_spec.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/plugins/index.js b/system-tests/projects/e2e/cypress/plugins/index.js similarity index 98% rename from packages/server/test/support/fixtures/projects/e2e/cypress/plugins/index.js rename to system-tests/projects/e2e/cypress/plugins/index.js index 05eb0da244..c22dff3f00 100644 --- a/packages/server/test/support/fixtures/projects/e2e/cypress/plugins/index.js +++ b/system-tests/projects/e2e/cypress/plugins/index.js @@ -29,7 +29,7 @@ module.exports = (on, config) => { // TODO: fix this - in open mode, this will throw an error // since the relative path is different in open vs run mode try { - performance = require('../../../../test/support/helpers/performance') + performance = require('@tooling/system-tests/lib/performance') } catch (err) { console.error(err) } diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/support/commands.js b/system-tests/projects/e2e/cypress/support/commands.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/support/commands.js rename to system-tests/projects/e2e/cypress/support/commands.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/support/foo/bar.js b/system-tests/projects/e2e/cypress/support/foo/bar.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/support/foo/bar.js rename to system-tests/projects/e2e/cypress/support/foo/bar.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/support/index.js b/system-tests/projects/e2e/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/support/index.js rename to system-tests/projects/e2e/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/e2e/cypress/support/util.js b/system-tests/projects/e2e/cypress/support/util.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/cypress/support/util.js rename to system-tests/projects/e2e/cypress/support/util.js diff --git a/packages/server/test/support/fixtures/projects/e2e/elements.html b/system-tests/projects/e2e/elements.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/elements.html rename to system-tests/projects/e2e/elements.html diff --git a/packages/server/test/support/fixtures/projects/e2e/fail.html b/system-tests/projects/e2e/fail.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/fail.html rename to system-tests/projects/e2e/fail.html diff --git a/packages/server/test/support/fixtures/projects/e2e/forms.html b/system-tests/projects/e2e/forms.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/forms.html rename to system-tests/projects/e2e/forms.html diff --git a/packages/server/test/support/fixtures/projects/e2e/hash.html b/system-tests/projects/e2e/hash.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/hash.html rename to system-tests/projects/e2e/hash.html diff --git a/packages/server/test/support/fixtures/projects/e2e/index.html b/system-tests/projects/e2e/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/index.html rename to system-tests/projects/e2e/index.html diff --git a/packages/server/test/support/fixtures/projects/e2e/jquery.html b/system-tests/projects/e2e/jquery.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/jquery.html rename to system-tests/projects/e2e/jquery.html diff --git a/packages/server/test/support/fixtures/projects/e2e/js_errors.html b/system-tests/projects/e2e/js_errors.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/js_errors.html rename to system-tests/projects/e2e/js_errors.html diff --git a/packages/server/test/support/fixtures/projects/e2e/lib/bar.js b/system-tests/projects/e2e/lib/bar.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/lib/bar.js rename to system-tests/projects/e2e/lib/bar.js diff --git a/packages/server/test/support/fixtures/projects/e2e/lib/baz.js b/system-tests/projects/e2e/lib/baz.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/lib/baz.js rename to system-tests/projects/e2e/lib/baz.js diff --git a/packages/server/test/support/fixtures/projects/e2e/lib/dom.jsx b/system-tests/projects/e2e/lib/dom.jsx similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/lib/dom.jsx rename to system-tests/projects/e2e/lib/dom.jsx diff --git a/packages/server/test/support/fixtures/projects/e2e/lib/fail.js b/system-tests/projects/e2e/lib/fail.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/lib/fail.js rename to system-tests/projects/e2e/lib/fail.js diff --git a/packages/server/test/support/fixtures/projects/e2e/lib/foo.coffee b/system-tests/projects/e2e/lib/foo.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/lib/foo.coffee rename to system-tests/projects/e2e/lib/foo.coffee diff --git a/packages/server/test/support/fixtures/projects/e2e/obstructive_code.html b/system-tests/projects/e2e/obstructive_code.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/obstructive_code.html rename to system-tests/projects/e2e/obstructive_code.html diff --git a/packages/server/test/support/fixtures/projects/e2e/outer.html b/system-tests/projects/e2e/outer.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/outer.html rename to system-tests/projects/e2e/outer.html diff --git a/packages/server/test/support/fixtures/projects/e2e/outer_404.html b/system-tests/projects/e2e/outer_404.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/outer_404.html rename to system-tests/projects/e2e/outer_404.html diff --git a/packages/server/test/support/fixtures/projects/e2e/package.json b/system-tests/projects/e2e/package.json similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/package.json rename to system-tests/projects/e2e/package.json diff --git a/packages/server/test/support/fixtures/projects/e2e/reporters/custom.js b/system-tests/projects/e2e/reporters/custom.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/reporters/custom.js rename to system-tests/projects/e2e/reporters/custom.js diff --git a/packages/server/test/support/fixtures/projects/e2e/reporters/throws.js b/system-tests/projects/e2e/reporters/throws.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/reporters/throws.js rename to system-tests/projects/e2e/reporters/throws.js diff --git a/packages/server/test/support/fixtures/projects/e2e/reporters/uses-file.js b/system-tests/projects/e2e/reporters/uses-file.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/reporters/uses-file.js rename to system-tests/projects/e2e/reporters/uses-file.js diff --git a/packages/server/test/support/fixtures/projects/e2e/scrollable.html b/system-tests/projects/e2e/scrollable.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/scrollable.html rename to system-tests/projects/e2e/scrollable.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/FiraSans-Regular.woff b/system-tests/projects/e2e/static/FiraSans-Regular.woff similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/FiraSans-Regular.woff rename to system-tests/projects/e2e/static/FiraSans-Regular.woff diff --git a/packages/server/test/support/fixtures/projects/e2e/static/FiraSans-Regular.woff.gz b/system-tests/projects/e2e/static/FiraSans-Regular.woff.gz similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/FiraSans-Regular.woff.gz rename to system-tests/projects/e2e/static/FiraSans-Regular.woff.gz diff --git a/packages/server/test/support/fixtures/projects/e2e/static/charsets/euc-kr.html b/system-tests/projects/e2e/static/charsets/euc-kr.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/charsets/euc-kr.html rename to system-tests/projects/e2e/static/charsets/euc-kr.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/charsets/gb2312.html b/system-tests/projects/e2e/static/charsets/gb2312.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/charsets/gb2312.html rename to system-tests/projects/e2e/static/charsets/gb2312.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/charsets/iso-8859-1.html b/system-tests/projects/e2e/static/charsets/iso-8859-1.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/charsets/iso-8859-1.html rename to system-tests/projects/e2e/static/charsets/iso-8859-1.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/charsets/shift-jis.html b/system-tests/projects/e2e/static/charsets/shift-jis.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/charsets/shift-jis.html rename to system-tests/projects/e2e/static/charsets/shift-jis.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/content.json b/system-tests/projects/e2e/static/content.json similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/content.json rename to system-tests/projects/e2e/static/content.json diff --git a/packages/server/test/support/fixtures/projects/e2e/static/fail.js b/system-tests/projects/e2e/static/fail.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/fail.js rename to system-tests/projects/e2e/static/fail.js diff --git a/packages/server/test/support/fixtures/projects/e2e/static/hello.txt b/system-tests/projects/e2e/static/hello.txt similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/hello.txt rename to system-tests/projects/e2e/static/hello.txt diff --git a/packages/server/test/support/fixtures/projects/e2e/static/iframe/index.html b/system-tests/projects/e2e/static/iframe/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/iframe/index.html rename to system-tests/projects/e2e/static/iframe/index.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/javascript-logo.png b/system-tests/projects/e2e/static/javascript-logo.png similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/javascript-logo.png rename to system-tests/projects/e2e/static/javascript-logo.png diff --git a/packages/server/test/support/fixtures/projects/e2e/static/javascript-logo.png.gz b/system-tests/projects/e2e/static/javascript-logo.png.gz similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/javascript-logo.png.gz rename to system-tests/projects/e2e/static/javascript-logo.png.gz diff --git a/packages/server/test/support/fixtures/projects/e2e/static/jquery.js b/system-tests/projects/e2e/static/jquery.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/jquery.js rename to system-tests/projects/e2e/static/jquery.js diff --git a/packages/server/test/support/fixtures/projects/e2e/static/obstructive_code.js b/system-tests/projects/e2e/static/obstructive_code.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/obstructive_code.js rename to system-tests/projects/e2e/static/obstructive_code.js diff --git a/packages/server/test/support/fixtures/projects/e2e/static/onclick_redirect.html b/system-tests/projects/e2e/static/onclick_redirect.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/onclick_redirect.html rename to system-tests/projects/e2e/static/onclick_redirect.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_basetag_redirect.html b/system-tests/projects/e2e/static/settimeout_basetag_redirect.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_basetag_redirect.html rename to system-tests/projects/e2e/static/settimeout_basetag_redirect.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_assign.html b/system-tests/projects/e2e/static/settimeout_redirect_assign.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_assign.html rename to system-tests/projects/e2e/static/settimeout_redirect_assign.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_document_href.html b/system-tests/projects/e2e/static/settimeout_redirect_document_href.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_document_href.html rename to system-tests/projects/e2e/static/settimeout_redirect_document_href.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_href.html b/system-tests/projects/e2e/static/settimeout_redirect_href.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_href.html rename to system-tests/projects/e2e/static/settimeout_redirect_href.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_href_hash.html b/system-tests/projects/e2e/static/settimeout_redirect_href_hash.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_href_hash.html rename to system-tests/projects/e2e/static/settimeout_redirect_href_hash.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_pathname.html b/system-tests/projects/e2e/static/settimeout_redirect_pathname.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_pathname.html rename to system-tests/projects/e2e/static/settimeout_redirect_pathname.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_replace.html b/system-tests/projects/e2e/static/settimeout_redirect_replace.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_replace.html rename to system-tests/projects/e2e/static/settimeout_redirect_replace.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_search.html b/system-tests/projects/e2e/static/settimeout_redirect_search.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_search.html rename to system-tests/projects/e2e/static/settimeout_redirect_search.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_document_location.html b/system-tests/projects/e2e/static/settimeout_redirect_set_document_location.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_document_location.html rename to system-tests/projects/e2e/static/settimeout_redirect_set_document_location.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_document_location_hash.html b/system-tests/projects/e2e/static/settimeout_redirect_set_document_location_hash.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_document_location_hash.html rename to system-tests/projects/e2e/static/settimeout_redirect_set_document_location_hash.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_location.html b/system-tests/projects/e2e/static/settimeout_redirect_set_location.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_location.html rename to system-tests/projects/e2e/static/settimeout_redirect_set_location.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_window_document_location.html b/system-tests/projects/e2e/static/settimeout_redirect_set_window_document_location.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_window_document_location.html rename to system-tests/projects/e2e/static/settimeout_redirect_set_window_document_location.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_window_location.html b/system-tests/projects/e2e/static/settimeout_redirect_set_window_location.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_set_window_location.html rename to system-tests/projects/e2e/static/settimeout_redirect_set_window_location.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_window_document_href.html b/system-tests/projects/e2e/static/settimeout_redirect_window_document_href.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_window_document_href.html rename to system-tests/projects/e2e/static/settimeout_redirect_window_document_href.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_window_href.html b/system-tests/projects/e2e/static/settimeout_redirect_window_href.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/settimeout_redirect_window_href.html rename to system-tests/projects/e2e/static/settimeout_redirect_window_href.html diff --git a/packages/server/test/support/fixtures/projects/e2e/static/simple_obstructive_code.js b/system-tests/projects/e2e/static/simple_obstructive_code.js similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/simple_obstructive_code.js rename to system-tests/projects/e2e/static/simple_obstructive_code.js diff --git a/packages/server/test/support/fixtures/projects/e2e/static/xhr_onload_redirect.html b/system-tests/projects/e2e/static/xhr_onload_redirect.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/static/xhr_onload_redirect.html rename to system-tests/projects/e2e/static/xhr_onload_redirect.html diff --git a/system-tests/projects/e2e/tsconfig.json b/system-tests/projects/e2e/tsconfig.json new file mode 100644 index 0000000000..278913508e --- /dev/null +++ b/system-tests/projects/e2e/tsconfig.json @@ -0,0 +1,7 @@ +{ + "compilerOptions": { + "jsx": "react", + "esModuleInterop": true, + "allowSyntheticDefaultImports": true + } +} \ No newline at end of file diff --git a/packages/server/test/support/fixtures/projects/e2e/visit_error.html b/system-tests/projects/e2e/visit_error.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/visit_error.html rename to system-tests/projects/e2e/visit_error.html diff --git a/packages/server/test/support/fixtures/projects/e2e/window_open.html b/system-tests/projects/e2e/window_open.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/window_open.html rename to system-tests/projects/e2e/window_open.html diff --git a/packages/server/test/support/fixtures/projects/e2e/xhr.html b/system-tests/projects/e2e/xhr.html similarity index 100% rename from packages/server/test/support/fixtures/projects/e2e/xhr.html rename to system-tests/projects/e2e/xhr.html diff --git a/packages/server/test/support/fixtures/projects/empty-folders/cypress.json b/system-tests/projects/empty-folders/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/empty-folders/cypress.json rename to system-tests/projects/empty-folders/cypress.json diff --git a/packages/server/test/support/fixtures/projects/empty-folders/cypress/plugins/.gitkeep b/system-tests/projects/empty-folders/cypress/plugins/.gitkeep similarity index 100% rename from packages/server/test/support/fixtures/projects/empty-folders/cypress/plugins/.gitkeep rename to system-tests/projects/empty-folders/cypress/plugins/.gitkeep diff --git a/packages/server/test/support/fixtures/projects/empty-folders/cypress/support/.gitkeep b/system-tests/projects/empty-folders/cypress/support/.gitkeep similarity index 100% rename from packages/server/test/support/fixtures/projects/empty-folders/cypress/support/.gitkeep rename to system-tests/projects/empty-folders/cypress/support/.gitkeep diff --git a/packages/server/test/support/fixtures/projects/ids/cypress.json b/system-tests/projects/failures/cypress/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress.json rename to system-tests/projects/failures/cypress/cypress.json diff --git a/packages/server/test/support/fixtures/projects/failures/cypress/integration/app_spec.js b/system-tests/projects/failures/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/failures/cypress/integration/app_spec.js rename to system-tests/projects/failures/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/failures/cypress/integration/syntax_error.js b/system-tests/projects/failures/cypress/integration/syntax_error.js similarity index 100% rename from packages/server/test/support/fixtures/projects/failures/cypress/integration/syntax_error.js rename to system-tests/projects/failures/cypress/integration/syntax_error.js diff --git a/packages/server/test/support/fixtures/projects/firefox-memory/cypress.json b/system-tests/projects/firefox-memory/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/firefox-memory/cypress.json rename to system-tests/projects/firefox-memory/cypress.json diff --git a/packages/server/test/support/fixtures/projects/firefox-memory/cypress/integration/spec.js b/system-tests/projects/firefox-memory/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/firefox-memory/cypress/integration/spec.js rename to system-tests/projects/firefox-memory/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/firefox-memory/cypress/plugins/index.js b/system-tests/projects/firefox-memory/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/firefox-memory/cypress/plugins/index.js rename to system-tests/projects/firefox-memory/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/fixture-subfolder-of-integration/cypress.json b/system-tests/projects/fixture-subfolder-of-integration/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/fixture-subfolder-of-integration/cypress.json rename to system-tests/projects/fixture-subfolder-of-integration/cypress.json diff --git a/packages/server/test/support/fixtures/projects/fixture-subfolder-of-integration/test/fixtures/example.json b/system-tests/projects/fixture-subfolder-of-integration/test/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/fixture-subfolder-of-integration/test/fixtures/example.json rename to system-tests/projects/fixture-subfolder-of-integration/test/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/fixture-subfolder-of-integration/test/spec.js b/system-tests/projects/fixture-subfolder-of-integration/test/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/fixture-subfolder-of-integration/test/spec.js rename to system-tests/projects/fixture-subfolder-of-integration/test/spec.js diff --git a/packages/server/test/support/fixtures/projects/folder-same-as-fixture/cypress.json b/system-tests/projects/folder-same-as-fixture/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/folder-same-as-fixture/cypress.json rename to system-tests/projects/folder-same-as-fixture/cypress.json diff --git a/packages/server/test/support/fixtures/projects/folder-same-as-fixture/cypress/fixtures/foo.json b/system-tests/projects/folder-same-as-fixture/cypress/fixtures/foo.json similarity index 100% rename from packages/server/test/support/fixtures/projects/folder-same-as-fixture/cypress/fixtures/foo.json rename to system-tests/projects/folder-same-as-fixture/cypress/fixtures/foo.json diff --git a/packages/server/test/support/fixtures/projects/folder-same-as-fixture/cypress/fixtures/foo/.gitkeep b/system-tests/projects/folder-same-as-fixture/cypress/fixtures/foo/.gitkeep similarity index 100% rename from packages/server/test/support/fixtures/projects/folder-same-as-fixture/cypress/fixtures/foo/.gitkeep rename to system-tests/projects/folder-same-as-fixture/cypress/fixtures/foo/.gitkeep diff --git a/packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress.json b/system-tests/projects/hooks-after-rerun/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress.json rename to system-tests/projects/hooks-after-rerun/cypress.json diff --git a/packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/integration/beforehook-and-test-navigation.js b/system-tests/projects/hooks-after-rerun/cypress/integration/beforehook-and-test-navigation.js similarity index 100% rename from packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/integration/beforehook-and-test-navigation.js rename to system-tests/projects/hooks-after-rerun/cypress/integration/beforehook-and-test-navigation.js diff --git a/packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/integration/runnable-run-count.spec.js b/system-tests/projects/hooks-after-rerun/cypress/integration/runnable-run-count.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/integration/runnable-run-count.spec.js rename to system-tests/projects/hooks-after-rerun/cypress/integration/runnable-run-count.spec.js diff --git a/packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/plugins/index.js b/system-tests/projects/hooks-after-rerun/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/plugins/index.js rename to system-tests/projects/hooks-after-rerun/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/support/index.js b/system-tests/projects/hooks-after-rerun/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/hooks-after-rerun/cypress/support/index.js rename to system-tests/projects/hooks-after-rerun/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/max-listeners/cypress.json b/system-tests/projects/ids/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/max-listeners/cypress.json rename to system-tests/projects/ids/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/.eslintrc.json b/system-tests/projects/ids/cypress/.eslintrc.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/.eslintrc.json rename to system-tests/projects/ids/cypress/.eslintrc.json diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/fixtures/example.json b/system-tests/projects/ids/cypress/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/fixtures/example.json rename to system-tests/projects/ids/cypress/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/0.844061cbceddba47c476.hot-update.js b/system-tests/projects/ids/cypress/integration/0.844061cbceddba47c476.hot-update.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/0.844061cbceddba47c476.hot-update.js rename to system-tests/projects/ids/cypress/integration/0.844061cbceddba47c476.hot-update.js diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/bar.js b/system-tests/projects/ids/cypress/integration/bar.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/bar.js rename to system-tests/projects/ids/cypress/integration/bar.js diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/baz.js b/system-tests/projects/ids/cypress/integration/baz.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/baz.js rename to system-tests/projects/ids/cypress/integration/baz.js diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/dom.jsx b/system-tests/projects/ids/cypress/integration/dom.jsx similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/dom.jsx rename to system-tests/projects/ids/cypress/integration/dom.jsx diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/es6.js b/system-tests/projects/ids/cypress/integration/es6.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/es6.js rename to system-tests/projects/ids/cypress/integration/es6.js diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/foo.coffee b/system-tests/projects/ids/cypress/integration/foo.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/foo.coffee rename to system-tests/projects/ids/cypress/integration/foo.coffee diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/nested/tmp.js b/system-tests/projects/ids/cypress/integration/nested/tmp.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/nested/tmp.js rename to system-tests/projects/ids/cypress/integration/nested/tmp.js diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/integration/noop.coffee b/system-tests/projects/ids/cypress/integration/noop.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/integration/noop.coffee rename to system-tests/projects/ids/cypress/integration/noop.coffee diff --git a/packages/server/test/support/fixtures/projects/ids/cypress/support/index.js b/system-tests/projects/ids/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ids/cypress/support/index.js rename to system-tests/projects/ids/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/integration-outside-project-root/integration/failing_spec.js b/system-tests/projects/integration-outside-project-root/integration/failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/integration-outside-project-root/integration/failing_spec.js rename to system-tests/projects/integration-outside-project-root/integration/failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/integration-outside-project-root/project-root/cypress.json b/system-tests/projects/integration-outside-project-root/project-root/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/integration-outside-project-root/project-root/cypress.json rename to system-tests/projects/integration-outside-project-root/project-root/cypress.json diff --git a/packages/server/test/support/fixtures/projects/issue-8111-iframe-input/cypress.json b/system-tests/projects/issue-8111-iframe-input/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/issue-8111-iframe-input/cypress.json rename to system-tests/projects/issue-8111-iframe-input/cypress.json diff --git a/packages/server/test/support/fixtures/projects/issue-8111-iframe-input/cypress/integration/iframe_input_spec.js b/system-tests/projects/issue-8111-iframe-input/cypress/integration/iframe_input_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/issue-8111-iframe-input/cypress/integration/iframe_input_spec.js rename to system-tests/projects/issue-8111-iframe-input/cypress/integration/iframe_input_spec.js diff --git a/packages/server/test/support/fixtures/projects/issue-8111-iframe-input/cypress/plugins/index.js b/system-tests/projects/issue-8111-iframe-input/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/issue-8111-iframe-input/cypress/plugins/index.js rename to system-tests/projects/issue-8111-iframe-input/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/issue-8111-iframe-input/inner.html b/system-tests/projects/issue-8111-iframe-input/inner.html similarity index 100% rename from packages/server/test/support/fixtures/projects/issue-8111-iframe-input/inner.html rename to system-tests/projects/issue-8111-iframe-input/inner.html diff --git a/packages/server/test/support/fixtures/projects/issue-8111-iframe-input/outer.html b/system-tests/projects/issue-8111-iframe-input/outer.html similarity index 100% rename from packages/server/test/support/fixtures/projects/issue-8111-iframe-input/outer.html rename to system-tests/projects/issue-8111-iframe-input/outer.html diff --git a/packages/server/test/support/fixtures/projects/no-scaffolding/cypress.json b/system-tests/projects/max-listeners/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/no-scaffolding/cypress.json rename to system-tests/projects/max-listeners/cypress.json diff --git a/packages/server/test/support/fixtures/projects/multiple-task-registrations/cypress.json b/system-tests/projects/multiple-task-registrations/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/multiple-task-registrations/cypress.json rename to system-tests/projects/multiple-task-registrations/cypress.json diff --git a/packages/server/test/support/fixtures/projects/multiple-task-registrations/cypress/integration/multiple_task_registrations_spec.js b/system-tests/projects/multiple-task-registrations/cypress/integration/multiple_task_registrations_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/multiple-task-registrations/cypress/integration/multiple_task_registrations_spec.js rename to system-tests/projects/multiple-task-registrations/cypress/integration/multiple_task_registrations_spec.js diff --git a/packages/server/test/support/fixtures/projects/multiple-task-registrations/cypress/plugins/index.js b/system-tests/projects/multiple-task-registrations/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/multiple-task-registrations/cypress/plugins/index.js rename to system-tests/projects/multiple-task-registrations/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/ts-installed/cypress.json b/system-tests/projects/no-scaffolding/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-installed/cypress.json rename to system-tests/projects/no-scaffolding/cypress.json diff --git a/packages/server/test/support/fixtures/projects/no-scaffolding/cypress/integration/app_spec.js b/system-tests/projects/no-scaffolding/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/no-scaffolding/cypress/integration/app_spec.js rename to system-tests/projects/no-scaffolding/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/no-server/cypress.json b/system-tests/projects/no-server/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/cypress.json rename to system-tests/projects/no-server/cypress.json diff --git a/packages/server/test/support/fixtures/projects/no-server/dev/a space/foo.txt b/system-tests/projects/no-server/dev/a space/foo.txt similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/dev/a space/foo.txt rename to system-tests/projects/no-server/dev/a space/foo.txt diff --git a/packages/server/test/support/fixtures/projects/no-server/dev/assets/app.css b/system-tests/projects/no-server/dev/assets/app.css similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/dev/assets/app.css rename to system-tests/projects/no-server/dev/assets/app.css diff --git a/packages/server/test/support/fixtures/projects/no-server/dev/assets/foo.json b/system-tests/projects/no-server/dev/assets/foo.json similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/dev/assets/foo.json rename to system-tests/projects/no-server/dev/assets/foo.json diff --git a/packages/server/test/support/fixtures/projects/no-server/dev/index.html b/system-tests/projects/no-server/dev/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/dev/index.html rename to system-tests/projects/no-server/dev/index.html diff --git a/packages/server/test/support/fixtures/projects/no-server/dev/sub/index.html b/system-tests/projects/no-server/dev/sub/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/dev/sub/index.html rename to system-tests/projects/no-server/dev/sub/index.html diff --git a/packages/server/test/support/fixtures/projects/no-server/helpers/includes.js b/system-tests/projects/no-server/helpers/includes.js similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/helpers/includes.js rename to system-tests/projects/no-server/helpers/includes.js diff --git a/packages/server/test/support/fixtures/projects/no-server/my-tests/test1.js b/system-tests/projects/no-server/my-tests/test1.js similarity index 100% rename from packages/server/test/support/fixtures/projects/no-server/my-tests/test1.js rename to system-tests/projects/no-server/my-tests/test1.js diff --git a/packages/server/test/support/fixtures/projects/non-existent-spec/cypress.json b/system-tests/projects/non-existent-spec/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/non-existent-spec/cypress.json rename to system-tests/projects/non-existent-spec/cypress.json diff --git a/packages/server/test/support/fixtures/projects/non-existent-spec/cypress/integration/spec.js b/system-tests/projects/non-existent-spec/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/non-existent-spec/cypress/integration/spec.js rename to system-tests/projects/non-existent-spec/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/non-existent-spec/cypress/plugins/index.js b/system-tests/projects/non-existent-spec/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/non-existent-spec/cypress/plugins/index.js rename to system-tests/projects/non-existent-spec/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/non-proxied/cypress.json b/system-tests/projects/non-proxied/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/non-proxied/cypress.json rename to system-tests/projects/non-proxied/cypress.json diff --git a/packages/server/test/support/fixtures/projects/non-proxied/cypress/fixtures/cy-non-proxied.png b/system-tests/projects/non-proxied/cypress/fixtures/cy-non-proxied.png similarity index 100% rename from packages/server/test/support/fixtures/projects/non-proxied/cypress/fixtures/cy-non-proxied.png rename to system-tests/projects/non-proxied/cypress/fixtures/cy-non-proxied.png diff --git a/packages/server/test/support/fixtures/projects/non-proxied/cypress/integration/spec.js b/system-tests/projects/non-proxied/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/non-proxied/cypress/integration/spec.js rename to system-tests/projects/non-proxied/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/non-proxied/cypress/plugins/index.js b/system-tests/projects/non-proxied/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/non-proxied/cypress/plugins/index.js rename to system-tests/projects/non-proxied/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/odd-directory-name/cypress/integration/.gitkeep b/system-tests/projects/odd-directory-name/cypress/integration/.gitkeep similarity index 100% rename from packages/server/test/support/fixtures/projects/odd-directory-name/cypress/integration/.gitkeep rename to system-tests/projects/odd-directory-name/cypress/integration/.gitkeep diff --git a/packages/server/test/support/fixtures/projects/odd-directory-name/cypress/integration/1.0/sample_spec.js b/system-tests/projects/odd-directory-name/cypress/integration/1.0/sample_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/odd-directory-name/cypress/integration/1.0/sample_spec.js rename to system-tests/projects/odd-directory-name/cypress/integration/1.0/sample_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress.json b/system-tests/projects/plugin-after-screenshot/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress.json rename to system-tests/projects/plugin-after-screenshot/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress/integration/after_screenshot_overwrite_spec.js b/system-tests/projects/plugin-after-screenshot/cypress/integration/after_screenshot_overwrite_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress/integration/after_screenshot_overwrite_spec.js rename to system-tests/projects/plugin-after-screenshot/cypress/integration/after_screenshot_overwrite_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress/integration/after_screenshot_spec.js b/system-tests/projects/plugin-after-screenshot/cypress/integration/after_screenshot_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress/integration/after_screenshot_spec.js rename to system-tests/projects/plugin-after-screenshot/cypress/integration/after_screenshot_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress/plugins/index.js b/system-tests/projects/plugin-after-screenshot/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-screenshot/cypress/plugins/index.js rename to system-tests/projects/plugin-after-screenshot/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-after-screenshot/screenshot-replacement.png b/system-tests/projects/plugin-after-screenshot/screenshot-replacement.png similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-screenshot/screenshot-replacement.png rename to system-tests/projects/plugin-after-screenshot/screenshot-replacement.png diff --git a/packages/server/test/support/fixtures/projects/plugin-after-spec-deletes-video/cypress.json b/system-tests/projects/plugin-after-spec-deletes-video/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-spec-deletes-video/cypress.json rename to system-tests/projects/plugin-after-spec-deletes-video/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-after-spec-deletes-video/cypress/integration/after_spec_deletes_video.js b/system-tests/projects/plugin-after-spec-deletes-video/cypress/integration/after_spec_deletes_video.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-spec-deletes-video/cypress/integration/after_spec_deletes_video.js rename to system-tests/projects/plugin-after-spec-deletes-video/cypress/integration/after_spec_deletes_video.js diff --git a/packages/server/test/support/fixtures/projects/plugin-after-spec-deletes-video/cypress/plugins/index.js b/system-tests/projects/plugin-after-spec-deletes-video/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-after-spec-deletes-video/cypress/plugins/index.js rename to system-tests/projects/plugin-after-spec-deletes-video/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress.json b/system-tests/projects/plugin-before-browser-launch-deprecation/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress.json rename to system-tests/projects/plugin-before-browser-launch-deprecation/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec.js b/system-tests/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec.js rename to system-tests/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec2.js b/system-tests/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec2.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec2.js rename to system-tests/projects/plugin-before-browser-launch-deprecation/cypress/integration/app_spec2.js diff --git a/packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress/plugins/index.js b/system-tests/projects/plugin-before-browser-launch-deprecation/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-before-browser-launch-deprecation/cypress/plugins/index.js rename to system-tests/projects/plugin-before-browser-launch-deprecation/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-browser/cypress.json b/system-tests/projects/plugin-browser/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-browser/cypress.json rename to system-tests/projects/plugin-browser/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-browser/cypress/integration/app_spec.js b/system-tests/projects/plugin-browser/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-browser/cypress/integration/app_spec.js rename to system-tests/projects/plugin-browser/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-browser/cypress/plugins/index.js b/system-tests/projects/plugin-browser/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-browser/cypress/plugins/index.js rename to system-tests/projects/plugin-browser/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-config-version/cypress.json b/system-tests/projects/plugin-config-version/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-config-version/cypress.json rename to system-tests/projects/plugin-config-version/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-config-version/cypress/integration/dummy.js b/system-tests/projects/plugin-config-version/cypress/integration/dummy.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-config-version/cypress/integration/dummy.js rename to system-tests/projects/plugin-config-version/cypress/integration/dummy.js diff --git a/packages/server/test/support/fixtures/projects/plugin-config-version/cypress/plugins/index.js b/system-tests/projects/plugin-config-version/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-config-version/cypress/plugins/index.js rename to system-tests/projects/plugin-config-version/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-config/cypress.json b/system-tests/projects/plugin-config/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-config/cypress.json rename to system-tests/projects/plugin-config/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-config/cypress/integration/app_spec.js b/system-tests/projects/plugin-config/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-config/cypress/integration/app_spec.js rename to system-tests/projects/plugin-config/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-config/cypress/plugins/index.js b/system-tests/projects/plugin-config/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-config/cypress/plugins/index.js rename to system-tests/projects/plugin-config/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-empty/cypress.json b/system-tests/projects/plugin-empty/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-empty/cypress.json rename to system-tests/projects/plugin-empty/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-empty/cypress/integration/app_spec.js b/system-tests/projects/plugin-empty/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-empty/cypress/integration/app_spec.js rename to system-tests/projects/plugin-empty/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-empty/cypress/plugins/index.js b/system-tests/projects/plugin-empty/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-empty/cypress/plugins/index.js rename to system-tests/projects/plugin-empty/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-event-deprecated/cypress.json b/system-tests/projects/plugin-event-deprecated/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-event-deprecated/cypress.json rename to system-tests/projects/plugin-event-deprecated/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-event-deprecated/cypress/integration/app_spec.js b/system-tests/projects/plugin-event-deprecated/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-event-deprecated/cypress/integration/app_spec.js rename to system-tests/projects/plugin-event-deprecated/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-event-deprecated/cypress/plugins/index.js b/system-tests/projects/plugin-event-deprecated/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-event-deprecated/cypress/plugins/index.js rename to system-tests/projects/plugin-event-deprecated/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-extension/cypress.json b/system-tests/projects/plugin-extension/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-extension/cypress.json rename to system-tests/projects/plugin-extension/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-extension/cypress/integration/app_spec.js b/system-tests/projects/plugin-extension/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-extension/cypress/integration/app_spec.js rename to system-tests/projects/plugin-extension/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-extension/cypress/plugins/index.js b/system-tests/projects/plugin-extension/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-extension/cypress/plugins/index.js rename to system-tests/projects/plugin-extension/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-extension/ext/background.js b/system-tests/projects/plugin-extension/ext/background.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-extension/ext/background.js rename to system-tests/projects/plugin-extension/ext/background.js diff --git a/packages/server/test/support/fixtures/projects/plugin-extension/ext/manifest.json b/system-tests/projects/plugin-extension/ext/manifest.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-extension/ext/manifest.json rename to system-tests/projects/plugin-extension/ext/manifest.json diff --git a/packages/server/test/support/fixtures/projects/plugin-extension/index.html b/system-tests/projects/plugin-extension/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-extension/index.html rename to system-tests/projects/plugin-extension/index.html diff --git a/packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress.json b/system-tests/projects/plugin-filter-browsers/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress.json rename to system-tests/projects/plugin-filter-browsers/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress/integration/app_spec.js b/system-tests/projects/plugin-filter-browsers/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress/integration/app_spec.js rename to system-tests/projects/plugin-filter-browsers/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress/plugins/index.js b/system-tests/projects/plugin-filter-browsers/cypress/plugins/index.js similarity index 93% rename from packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress/plugins/index.js rename to system-tests/projects/plugin-filter-browsers/cypress/plugins/index.js index a429bf6293..27ebfd5e46 100644 --- a/packages/server/test/support/fixtures/projects/plugin-filter-browsers/cypress/plugins/index.js +++ b/system-tests/projects/plugin-filter-browsers/cypress/plugins/index.js @@ -1,4 +1,4 @@ -const debug = require('debug')('cypress:e2e') +const debug = require('debug')('cypress:system-tests') module.exports = function (onFn, config) { debug('plugin file %s', __filename) diff --git a/packages/server/test/support/fixtures/projects/plugin-retries/cypress.json b/system-tests/projects/plugin-retries/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-retries/cypress.json rename to system-tests/projects/plugin-retries/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-retries/cypress/integration/main.spec.js b/system-tests/projects/plugin-retries/cypress/integration/main.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-retries/cypress/integration/main.spec.js rename to system-tests/projects/plugin-retries/cypress/integration/main.spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress.json b/system-tests/projects/plugin-returns-bad-config/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress.json rename to system-tests/projects/plugin-returns-bad-config/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/fixtures/example.json b/system-tests/projects/plugin-returns-bad-config/cypress/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/fixtures/example.json rename to system-tests/projects/plugin-returns-bad-config/cypress/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/integration/app_spec.js b/system-tests/projects/plugin-returns-bad-config/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/integration/app_spec.js rename to system-tests/projects/plugin-returns-bad-config/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/plugins/index.js b/system-tests/projects/plugin-returns-bad-config/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/plugins/index.js rename to system-tests/projects/plugin-returns-bad-config/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/support/commands.js b/system-tests/projects/plugin-returns-bad-config/cypress/support/commands.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/support/commands.js rename to system-tests/projects/plugin-returns-bad-config/cypress/support/commands.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/support/index.js b/system-tests/projects/plugin-returns-bad-config/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-bad-config/cypress/support/index.js rename to system-tests/projects/plugin-returns-bad-config/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress.json b/system-tests/projects/plugin-returns-empty-browsers-list/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress.json rename to system-tests/projects/plugin-returns-empty-browsers-list/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/fixtures/example.json b/system-tests/projects/plugin-returns-empty-browsers-list/cypress/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/fixtures/example.json rename to system-tests/projects/plugin-returns-empty-browsers-list/cypress/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/integration/app_spec.js b/system-tests/projects/plugin-returns-empty-browsers-list/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/integration/app_spec.js rename to system-tests/projects/plugin-returns-empty-browsers-list/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/plugins/index.js b/system-tests/projects/plugin-returns-empty-browsers-list/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/plugins/index.js rename to system-tests/projects/plugin-returns-empty-browsers-list/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/support/commands.js b/system-tests/projects/plugin-returns-empty-browsers-list/cypress/support/commands.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/support/commands.js rename to system-tests/projects/plugin-returns-empty-browsers-list/cypress/support/commands.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/support/index.js b/system-tests/projects/plugin-returns-empty-browsers-list/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-empty-browsers-list/cypress/support/index.js rename to system-tests/projects/plugin-returns-empty-browsers-list/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress.json b/system-tests/projects/plugin-returns-invalid-browser/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress.json rename to system-tests/projects/plugin-returns-invalid-browser/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/fixtures/example.json b/system-tests/projects/plugin-returns-invalid-browser/cypress/fixtures/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/fixtures/example.json rename to system-tests/projects/plugin-returns-invalid-browser/cypress/fixtures/example.json diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/integration/app_spec.js b/system-tests/projects/plugin-returns-invalid-browser/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/integration/app_spec.js rename to system-tests/projects/plugin-returns-invalid-browser/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/plugins/index.js b/system-tests/projects/plugin-returns-invalid-browser/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/plugins/index.js rename to system-tests/projects/plugin-returns-invalid-browser/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/support/commands.js b/system-tests/projects/plugin-returns-invalid-browser/cypress/support/commands.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/support/commands.js rename to system-tests/projects/plugin-returns-invalid-browser/cypress/support/commands.js diff --git a/packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/support/index.js b/system-tests/projects/plugin-returns-invalid-browser/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-returns-invalid-browser/cypress/support/index.js rename to system-tests/projects/plugin-returns-invalid-browser/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-run-event-throws/cypress.json b/system-tests/projects/plugin-run-event-throws/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-event-throws/cypress.json rename to system-tests/projects/plugin-run-event-throws/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-run-event-throws/cypress/integration/run_event_throws_spec.js b/system-tests/projects/plugin-run-event-throws/cypress/integration/run_event_throws_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-event-throws/cypress/integration/run_event_throws_spec.js rename to system-tests/projects/plugin-run-event-throws/cypress/integration/run_event_throws_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-run-event-throws/cypress/plugins/index.js b/system-tests/projects/plugin-run-event-throws/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-event-throws/cypress/plugins/index.js rename to system-tests/projects/plugin-run-event-throws/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-run-events/cypress.json b/system-tests/projects/plugin-run-events/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-events/cypress.json rename to system-tests/projects/plugin-run-events/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-run-events/cypress/integration/run_events_spec_1.js b/system-tests/projects/plugin-run-events/cypress/integration/run_events_spec_1.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-events/cypress/integration/run_events_spec_1.js rename to system-tests/projects/plugin-run-events/cypress/integration/run_events_spec_1.js diff --git a/packages/server/test/support/fixtures/projects/plugin-run-events/cypress/integration/run_events_spec_2.js b/system-tests/projects/plugin-run-events/cypress/integration/run_events_spec_2.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-events/cypress/integration/run_events_spec_2.js rename to system-tests/projects/plugin-run-events/cypress/integration/run_events_spec_2.js diff --git a/packages/server/test/support/fixtures/projects/plugin-run-events/cypress/plugins/index.js b/system-tests/projects/plugin-run-events/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-run-events/cypress/plugins/index.js rename to system-tests/projects/plugin-run-events/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugin-validation-error/cypress.json b/system-tests/projects/plugin-validation-error/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-validation-error/cypress.json rename to system-tests/projects/plugin-validation-error/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugin-validation-error/cypress/integration/app_spec.js b/system-tests/projects/plugin-validation-error/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-validation-error/cypress/integration/app_spec.js rename to system-tests/projects/plugin-validation-error/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugin-validation-error/cypress/plugins/index.js b/system-tests/projects/plugin-validation-error/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugin-validation-error/cypress/plugins/index.js rename to system-tests/projects/plugin-validation-error/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugins-absolute-path/cypress.json b/system-tests/projects/plugins-absolute-path/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-absolute-path/cypress.json rename to system-tests/projects/plugins-absolute-path/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugins-absolute-path/cypress/integration/absolute_spec.js b/system-tests/projects/plugins-absolute-path/cypress/integration/absolute_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-absolute-path/cypress/integration/absolute_spec.js rename to system-tests/projects/plugins-absolute-path/cypress/integration/absolute_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugins-absolute-path/cypress/plugins/index.js b/system-tests/projects/plugins-absolute-path/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-absolute-path/cypress/plugins/index.js rename to system-tests/projects/plugins-absolute-path/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugins-async-error/cypress.json b/system-tests/projects/plugins-async-error/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-async-error/cypress.json rename to system-tests/projects/plugins-async-error/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugins-async-error/cypress/integration/app_spec.js b/system-tests/projects/plugins-async-error/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-async-error/cypress/integration/app_spec.js rename to system-tests/projects/plugins-async-error/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugins-async-error/cypress/plugins/index.js b/system-tests/projects/plugins-async-error/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-async-error/cypress/plugins/index.js rename to system-tests/projects/plugins-async-error/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/plugins-root-async-error/cypress.json b/system-tests/projects/plugins-root-async-error/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-root-async-error/cypress.json rename to system-tests/projects/plugins-root-async-error/cypress.json diff --git a/packages/server/test/support/fixtures/projects/plugins-root-async-error/cypress/integration/app_spec.js b/system-tests/projects/plugins-root-async-error/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-root-async-error/cypress/integration/app_spec.js rename to system-tests/projects/plugins-root-async-error/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/plugins-root-async-error/cypress/plugins/index.js b/system-tests/projects/plugins-root-async-error/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/plugins-root-async-error/cypress/plugins/index.js rename to system-tests/projects/plugins-root-async-error/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/pristine/app.js b/system-tests/projects/pristine/app.js similarity index 100% rename from packages/server/test/support/fixtures/projects/pristine/app.js rename to system-tests/projects/pristine/app.js diff --git a/packages/server/test/support/fixtures/projects/read-only-project-root/cypress.json b/system-tests/projects/read-only-project-root/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/read-only-project-root/cypress.json rename to system-tests/projects/read-only-project-root/cypress.json diff --git a/packages/server/test/support/fixtures/projects/read-only-project-root/cypress/integration/spec.js b/system-tests/projects/read-only-project-root/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/read-only-project-root/cypress/integration/spec.js rename to system-tests/projects/read-only-project-root/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/read-only-project-root/cypress/plugins/index.js b/system-tests/projects/read-only-project-root/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/read-only-project-root/cypress/plugins/index.js rename to system-tests/projects/read-only-project-root/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/read-only-project-root/cypress/support.js b/system-tests/projects/read-only-project-root/cypress/support.js similarity index 100% rename from packages/server/test/support/fixtures/projects/read-only-project-root/cypress/support.js rename to system-tests/projects/read-only-project-root/cypress/support.js diff --git a/packages/server/test/support/fixtures/projects/record/cypress.json b/system-tests/projects/record/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/record/cypress.json rename to system-tests/projects/record/cypress.json diff --git a/packages/server/test/support/fixtures/projects/record/cypress/integration/app_spec.js b/system-tests/projects/record/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/record/cypress/integration/app_spec.js rename to system-tests/projects/record/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/remote-debugging-disconnect/cypress.json b/system-tests/projects/remote-debugging-disconnect/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/remote-debugging-disconnect/cypress.json rename to system-tests/projects/remote-debugging-disconnect/cypress.json diff --git a/packages/server/test/support/fixtures/projects/remote-debugging-disconnect/cypress/integration/spec.ts b/system-tests/projects/remote-debugging-disconnect/cypress/integration/spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/remote-debugging-disconnect/cypress/integration/spec.ts rename to system-tests/projects/remote-debugging-disconnect/cypress/integration/spec.ts diff --git a/packages/server/test/support/fixtures/projects/remote-debugging-disconnect/cypress/plugins.js b/system-tests/projects/remote-debugging-disconnect/cypress/plugins.js similarity index 100% rename from packages/server/test/support/fixtures/projects/remote-debugging-disconnect/cypress/plugins.js rename to system-tests/projects/remote-debugging-disconnect/cypress/plugins.js diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/cypress.json b/system-tests/projects/remote-debugging-disconnect/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/cypress.json rename to system-tests/projects/remote-debugging-disconnect/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/remote-debugging-port-removed/cypress.json b/system-tests/projects/remote-debugging-port-removed/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/remote-debugging-port-removed/cypress.json rename to system-tests/projects/remote-debugging-port-removed/cypress.json diff --git a/packages/server/test/support/fixtures/projects/remote-debugging-port-removed/cypress/integration/spec.ts b/system-tests/projects/remote-debugging-port-removed/cypress/integration/spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/remote-debugging-port-removed/cypress/integration/spec.ts rename to system-tests/projects/remote-debugging-port-removed/cypress/integration/spec.ts diff --git a/packages/server/test/support/fixtures/projects/remote-debugging-port-removed/cypress/plugins.js b/system-tests/projects/remote-debugging-port-removed/cypress/plugins.js similarity index 100% rename from packages/server/test/support/fixtures/projects/remote-debugging-port-removed/cypress/plugins.js rename to system-tests/projects/remote-debugging-port-removed/cypress/plugins.js diff --git a/packages/server/test/support/fixtures/projects/retries-2/cypress.json b/system-tests/projects/retries-2/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/retries-2/cypress.json rename to system-tests/projects/retries-2/cypress.json diff --git a/packages/server/test/support/fixtures/projects/retries-2/cypress/integration/fail-twice.js b/system-tests/projects/retries-2/cypress/integration/fail-twice.js similarity index 100% rename from packages/server/test/support/fixtures/projects/retries-2/cypress/integration/fail-twice.js rename to system-tests/projects/retries-2/cypress/integration/fail-twice.js diff --git a/packages/server/test/support/fixtures/projects/retries-2/cypress/plugins/index.js b/system-tests/projects/retries-2/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/retries-2/cypress/plugins/index.js rename to system-tests/projects/retries-2/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/same-fixtures-integration-folders/cypress.json b/system-tests/projects/same-fixtures-integration-folders/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/same-fixtures-integration-folders/cypress.json rename to system-tests/projects/same-fixtures-integration-folders/cypress.json diff --git a/packages/server/test/support/fixtures/projects/same-fixtures-integration-folders/cypress/integration/example.json b/system-tests/projects/same-fixtures-integration-folders/cypress/integration/example.json similarity index 100% rename from packages/server/test/support/fixtures/projects/same-fixtures-integration-folders/cypress/integration/example.json rename to system-tests/projects/same-fixtures-integration-folders/cypress/integration/example.json diff --git a/packages/server/test/support/fixtures/projects/same-fixtures-integration-folders/cypress/integration/spec.js b/system-tests/projects/same-fixtures-integration-folders/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/same-fixtures-integration-folders/cypress/integration/spec.js rename to system-tests/projects/same-fixtures-integration-folders/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/screen-size/cypress.json b/system-tests/projects/screen-size/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/screen-size/cypress.json rename to system-tests/projects/screen-size/cypress.json diff --git a/packages/server/test/support/fixtures/projects/screen-size/cypress/integration/default_size.spec.js b/system-tests/projects/screen-size/cypress/integration/default_size.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/screen-size/cypress/integration/default_size.spec.js rename to system-tests/projects/screen-size/cypress/integration/default_size.spec.js diff --git a/packages/server/test/support/fixtures/projects/screen-size/cypress/integration/device_pixel_ratio.spec.js b/system-tests/projects/screen-size/cypress/integration/device_pixel_ratio.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/screen-size/cypress/integration/device_pixel_ratio.spec.js rename to system-tests/projects/screen-size/cypress/integration/device_pixel_ratio.spec.js diff --git a/packages/server/test/support/fixtures/projects/screen-size/cypress/integration/maximized.spec.js b/system-tests/projects/screen-size/cypress/integration/maximized.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/screen-size/cypress/integration/maximized.spec.js rename to system-tests/projects/screen-size/cypress/integration/maximized.spec.js diff --git a/packages/server/test/support/fixtures/projects/screen-size/cypress/plugins/index.js b/system-tests/projects/screen-size/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/screen-size/cypress/plugins/index.js rename to system-tests/projects/screen-size/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/shadow-dom-global-inclusion/cypress.json b/system-tests/projects/shadow-dom-global-inclusion/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/shadow-dom-global-inclusion/cypress.json rename to system-tests/projects/shadow-dom-global-inclusion/cypress.json diff --git a/packages/server/test/support/fixtures/projects/shadow-dom-global-inclusion/cypress/fixtures/shadow-dom.html b/system-tests/projects/shadow-dom-global-inclusion/cypress/fixtures/shadow-dom.html similarity index 100% rename from packages/server/test/support/fixtures/projects/shadow-dom-global-inclusion/cypress/fixtures/shadow-dom.html rename to system-tests/projects/shadow-dom-global-inclusion/cypress/fixtures/shadow-dom.html diff --git a/packages/server/test/support/fixtures/projects/shadow-dom-global-inclusion/cypress/integration/shadow_dom_global_option_spec.js b/system-tests/projects/shadow-dom-global-inclusion/cypress/integration/shadow_dom_global_option_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/shadow-dom-global-inclusion/cypress/integration/shadow_dom_global_option_spec.js rename to system-tests/projects/shadow-dom-global-inclusion/cypress/integration/shadow_dom_global_option_spec.js diff --git a/packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress.json b/system-tests/projects/studio-no-source-maps/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress.json rename to system-tests/projects/studio-no-source-maps/cypress.json diff --git a/packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress/integration/extend.spec.js b/system-tests/projects/studio-no-source-maps/cypress/integration/extend.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress/integration/extend.spec.js rename to system-tests/projects/studio-no-source-maps/cypress/integration/extend.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress/integration/new.spec.js b/system-tests/projects/studio-no-source-maps/cypress/integration/new.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress/integration/new.spec.js rename to system-tests/projects/studio-no-source-maps/cypress/integration/new.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress/plugins/index.js b/system-tests/projects/studio-no-source-maps/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio-no-source-maps/cypress/plugins/index.js rename to system-tests/projects/studio-no-source-maps/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/studio-no-source-maps/index.html b/system-tests/projects/studio-no-source-maps/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/studio-no-source-maps/index.html rename to system-tests/projects/studio-no-source-maps/index.html diff --git a/packages/server/test/support/fixtures/projects/studio/cypress.json b/system-tests/projects/studio/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress.json rename to system-tests/projects/studio/cypress.json diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/integration/empty-comments.spec.js b/system-tests/projects/studio/cypress/integration/empty-comments.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/integration/empty-comments.spec.js rename to system-tests/projects/studio/cypress/integration/empty-comments.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/integration/extend.spec.js b/system-tests/projects/studio/cypress/integration/extend.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/integration/extend.spec.js rename to system-tests/projects/studio/cypress/integration/extend.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/integration/external.spec.js b/system-tests/projects/studio/cypress/integration/external.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/integration/external.spec.js rename to system-tests/projects/studio/cypress/integration/external.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/integration/new.spec.js b/system-tests/projects/studio/cypress/integration/new.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/integration/new.spec.js rename to system-tests/projects/studio/cypress/integration/new.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/integration/unwritten.spec.js b/system-tests/projects/studio/cypress/integration/unwritten.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/integration/unwritten.spec.js rename to system-tests/projects/studio/cypress/integration/unwritten.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/integration/written.spec.js b/system-tests/projects/studio/cypress/integration/written.spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/integration/written.spec.js rename to system-tests/projects/studio/cypress/integration/written.spec.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/support/external.js b/system-tests/projects/studio/cypress/support/external.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/support/external.js rename to system-tests/projects/studio/cypress/support/external.js diff --git a/packages/server/test/support/fixtures/projects/studio/cypress/support/index.js b/system-tests/projects/studio/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/cypress/support/index.js rename to system-tests/projects/studio/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/studio/index.html b/system-tests/projects/studio/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/index.html rename to system-tests/projects/studio/index.html diff --git a/packages/server/test/support/fixtures/projects/studio/new.html b/system-tests/projects/studio/new.html similarity index 100% rename from packages/server/test/support/fixtures/projects/studio/new.html rename to system-tests/projects/studio/new.html diff --git a/packages/server/test/support/fixtures/projects/system-node/cypress.json b/system-tests/projects/system-node/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/system-node/cypress.json rename to system-tests/projects/system-node/cypress.json diff --git a/system-tests/projects/system-node/cypress/integration/spec.js b/system-tests/projects/system-node/cypress/integration/spec.js new file mode 100644 index 0000000000..10871cfa38 --- /dev/null +++ b/system-tests/projects/system-node/cypress/integration/spec.js @@ -0,0 +1,13 @@ +it('has expected resolvedNodePath and resolvedNodeVersion', () => { + expect(Cypress.config('nodeVersion')).to.eq('system') + + // TODO: make this assertion a strict equality check again + // for some reason, `yarn` is messing up the node path in CI and making it `/tmp/yarn---12345/node` + // but the e2e test does not get that same node path for `expectedNodePath` + // however since it still works as it should this is fine - this is an issue with the tests + // expect(Cypress.config('resolvedNodePath')).to.eq(Cypress.env('expectedNodePath')) + expect(Cypress.config('resolvedNodePath')).to.match(/.*\/node$/) + expect(Cypress.env('expectedNodePath')).to.match(/.*\/node$/) + + expect(Cypress.config('resolvedNodeVersion')).to.eq(Cypress.env('expectedNodeVersion')) +}) diff --git a/packages/server/test/support/fixtures/projects/system-node/cypress/plugins/index.js b/system-tests/projects/system-node/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/system-node/cypress/plugins/index.js rename to system-tests/projects/system-node/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/task-not-registered/cypress.json b/system-tests/projects/task-not-registered/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/task-not-registered/cypress.json rename to system-tests/projects/task-not-registered/cypress.json diff --git a/packages/server/test/support/fixtures/projects/task-not-registered/cypress/integration/task_not_registered_spec.js b/system-tests/projects/task-not-registered/cypress/integration/task_not_registered_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/task-not-registered/cypress/integration/task_not_registered_spec.js rename to system-tests/projects/task-not-registered/cypress/integration/task_not_registered_spec.js diff --git a/packages/server/test/support/fixtures/projects/todos/cypress.json b/system-tests/projects/todos/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/cypress.json rename to system-tests/projects/todos/cypress.json diff --git a/packages/server/test/support/fixtures/projects/todos/lib/my_coffee.coffee b/system-tests/projects/todos/lib/my_coffee.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/lib/my_coffee.coffee rename to system-tests/projects/todos/lib/my_coffee.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/ascii.foo b/system-tests/projects/todos/tests/_fixtures/ascii.foo similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/ascii.foo rename to system-tests/projects/todos/tests/_fixtures/ascii.foo diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bad_coffee.coffee b/system-tests/projects/todos/tests/_fixtures/bad_coffee.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bad_coffee.coffee rename to system-tests/projects/todos/tests/_fixtures/bad_coffee.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bad_js.js b/system-tests/projects/todos/tests/_fixtures/bad_js.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bad_js.js rename to system-tests/projects/todos/tests/_fixtures/bad_js.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bad_json.json b/system-tests/projects/todos/tests/_fixtures/bad_json.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bad_json.json rename to system-tests/projects/todos/tests/_fixtures/bad_json.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bar.js b/system-tests/projects/todos/tests/_fixtures/bar.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bar.js rename to system-tests/projects/todos/tests/_fixtures/bar.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bar_coffee.coffee b/system-tests/projects/todos/tests/_fixtures/bar_coffee.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/bar_coffee.coffee rename to system-tests/projects/todos/tests/_fixtures/bar_coffee.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/data.csv b/system-tests/projects/todos/tests/_fixtures/data.csv similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/data.csv rename to system-tests/projects/todos/tests/_fixtures/data.csv diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/empty_objects.json b/system-tests/projects/todos/tests/_fixtures/empty_objects.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/empty_objects.json rename to system-tests/projects/todos/tests/_fixtures/empty_objects.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/example.zip b/system-tests/projects/todos/tests/_fixtures/example.zip similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/example.zip rename to system-tests/projects/todos/tests/_fixtures/example.zip diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.coffee b/system-tests/projects/todos/tests/_fixtures/foo.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.coffee rename to system-tests/projects/todos/tests/_fixtures/foo.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.exe b/system-tests/projects/todos/tests/_fixtures/foo.exe similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.exe rename to system-tests/projects/todos/tests/_fixtures/foo.exe diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.js b/system-tests/projects/todos/tests/_fixtures/foo.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.js rename to system-tests/projects/todos/tests/_fixtures/foo.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.json b/system-tests/projects/todos/tests/_fixtures/foo.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/foo.json rename to system-tests/projects/todos/tests/_fixtures/foo.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/flower.png b/system-tests/projects/todos/tests/_fixtures/images/flower.png similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/flower.png rename to system-tests/projects/todos/tests/_fixtures/images/flower.png diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/sample.jpg b/system-tests/projects/todos/tests/_fixtures/images/sample.jpg similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/sample.jpg rename to system-tests/projects/todos/tests/_fixtures/images/sample.jpg diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/sample.tif b/system-tests/projects/todos/tests/_fixtures/images/sample.tif similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/sample.tif rename to system-tests/projects/todos/tests/_fixtures/images/sample.tif diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/word.gif b/system-tests/projects/todos/tests/_fixtures/images/word.gif similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/images/word.gif rename to system-tests/projects/todos/tests/_fixtures/images/word.gif diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/index.html b/system-tests/projects/todos/tests/_fixtures/index.html similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/index.html rename to system-tests/projects/todos/tests/_fixtures/index.html diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/invalid.exe b/system-tests/projects/todos/tests/_fixtures/invalid.exe similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/invalid.exe rename to system-tests/projects/todos/tests/_fixtures/invalid.exe diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/message.txt b/system-tests/projects/todos/tests/_fixtures/message.txt similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/message.txt rename to system-tests/projects/todos/tests/_fixtures/message.txt diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/nested/fixture.js b/system-tests/projects/todos/tests/_fixtures/nested/fixture.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/nested/fixture.js rename to system-tests/projects/todos/tests/_fixtures/nested/fixture.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/no_format.js b/system-tests/projects/todos/tests/_fixtures/no_format.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/no_format.js rename to system-tests/projects/todos/tests/_fixtures/no_format.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/no_format.json b/system-tests/projects/todos/tests/_fixtures/no_format.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/no_format.json rename to system-tests/projects/todos/tests/_fixtures/no_format.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/no_format_coffee.coffee b/system-tests/projects/todos/tests/_fixtures/no_format_coffee.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/no_format_coffee.coffee rename to system-tests/projects/todos/tests/_fixtures/no_format_coffee.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.html b/system-tests/projects/todos/tests/_fixtures/trailing_new_line.html similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.html rename to system-tests/projects/todos/tests/_fixtures/trailing_new_line.html diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.js b/system-tests/projects/todos/tests/_fixtures/trailing_new_line.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.js rename to system-tests/projects/todos/tests/_fixtures/trailing_new_line.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.json b/system-tests/projects/todos/tests/_fixtures/trailing_new_line.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.json rename to system-tests/projects/todos/tests/_fixtures/trailing_new_line.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.txt b/system-tests/projects/todos/tests/_fixtures/trailing_new_line.txt similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line.txt rename to system-tests/projects/todos/tests/_fixtures/trailing_new_line.txt diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line_coffee.coffee b/system-tests/projects/todos/tests/_fixtures/trailing_new_line_coffee.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/trailing_new_line_coffee.coffee rename to system-tests/projects/todos/tests/_fixtures/trailing_new_line_coffee.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/unicode_escape.json b/system-tests/projects/todos/tests/_fixtures/unicode_escape.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/unicode_escape.json rename to system-tests/projects/todos/tests/_fixtures/unicode_escape.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/unknown_ext.yaml b/system-tests/projects/todos/tests/_fixtures/unknown_ext.yaml similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/unknown_ext.yaml rename to system-tests/projects/todos/tests/_fixtures/unknown_ext.yaml diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/user.js b/system-tests/projects/todos/tests/_fixtures/user.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/user.js rename to system-tests/projects/todos/tests/_fixtures/user.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/users.json b/system-tests/projects/todos/tests/_fixtures/users.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/users.json rename to system-tests/projects/todos/tests/_fixtures/users.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/valid_coffee_obj.coffee b/system-tests/projects/todos/tests/_fixtures/valid_coffee_obj.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/valid_coffee_obj.coffee rename to system-tests/projects/todos/tests/_fixtures/valid_coffee_obj.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_fixtures/words.json b/system-tests/projects/todos/tests/_fixtures/words.json similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_fixtures/words.json rename to system-tests/projects/todos/tests/_fixtures/words.json diff --git a/packages/server/test/support/fixtures/projects/todos/tests/_support/spec_helper.js b/system-tests/projects/todos/tests/_support/spec_helper.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/_support/spec_helper.js rename to system-tests/projects/todos/tests/_support/spec_helper.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/etc/etc.js b/system-tests/projects/todos/tests/etc/etc.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/etc/etc.js rename to system-tests/projects/todos/tests/etc/etc.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/sub/a&b%c.js b/system-tests/projects/todos/tests/sub/a&b%c.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/sub/a&b%c.js rename to system-tests/projects/todos/tests/sub/a&b%c.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/sub/sub_test.coffee b/system-tests/projects/todos/tests/sub/sub_test.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/sub/sub_test.coffee rename to system-tests/projects/todos/tests/sub/sub_test.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/tests/test1.js b/system-tests/projects/todos/tests/test1.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/test1.js rename to system-tests/projects/todos/tests/test1.js diff --git a/packages/server/test/support/fixtures/projects/todos/tests/test2.coffee b/system-tests/projects/todos/tests/test2.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/tests/test2.coffee rename to system-tests/projects/todos/tests/test2.coffee diff --git a/packages/server/test/support/fixtures/projects/todos/throws-error.js b/system-tests/projects/todos/throws-error.js similarity index 100% rename from packages/server/test/support/fixtures/projects/todos/throws-error.js rename to system-tests/projects/todos/throws-error.js diff --git a/packages/server/test/support/fixtures/projects/ts-installed/.gitignore b/system-tests/projects/ts-installed/.gitignore similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-installed/.gitignore rename to system-tests/projects/ts-installed/.gitignore diff --git a/system-tests/projects/ts-installed/cypress.json b/system-tests/projects/ts-installed/cypress.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/system-tests/projects/ts-installed/cypress.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress.json b/system-tests/projects/ts-proj-custom-names/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress.json rename to system-tests/projects/ts-proj-custom-names/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/integration/app_spec.ts b/system-tests/projects/ts-proj-custom-names/cypress/integration/app_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/integration/app_spec.ts rename to system-tests/projects/ts-proj-custom-names/cypress/integration/app_spec.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/integration/math.ts b/system-tests/projects/ts-proj-custom-names/cypress/integration/math.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/integration/math.ts rename to system-tests/projects/ts-proj-custom-names/cypress/integration/math.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/plugins.ts b/system-tests/projects/ts-proj-custom-names/cypress/plugins.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/plugins.ts rename to system-tests/projects/ts-proj-custom-names/cypress/plugins.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/support.ts b/system-tests/projects/ts-proj-custom-names/cypress/support.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-custom-names/cypress/support.ts rename to system-tests/projects/ts-proj-custom-names/cypress/support.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress.json b/system-tests/projects/ts-proj-esmoduleinterop-true/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress.json rename to system-tests/projects/ts-proj-esmoduleinterop-true/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress/integration/passing_spec.ts b/system-tests/projects/ts-proj-esmoduleinterop-true/cypress/integration/passing_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress/integration/passing_spec.ts rename to system-tests/projects/ts-proj-esmoduleinterop-true/cypress/integration/passing_spec.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress/plugins/commonjs-export.js b/system-tests/projects/ts-proj-esmoduleinterop-true/cypress/plugins/commonjs-export.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress/plugins/commonjs-export.js rename to system-tests/projects/ts-proj-esmoduleinterop-true/cypress/plugins/commonjs-export.js diff --git a/packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress/plugins/index.ts b/system-tests/projects/ts-proj-esmoduleinterop-true/cypress/plugins/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/cypress/plugins/index.ts rename to system-tests/projects/ts-proj-esmoduleinterop-true/cypress/plugins/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/tsconfig.json b/system-tests/projects/ts-proj-esmoduleinterop-true/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-esmoduleinterop-true/tsconfig.json rename to system-tests/projects/ts-proj-esmoduleinterop-true/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress.json b/system-tests/projects/ts-proj-tsconfig-in-plugins/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress.json rename to system-tests/projects/ts-proj-tsconfig-in-plugins/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress/integration/passing_spec.ts b/system-tests/projects/ts-proj-tsconfig-in-plugins/cypress/integration/passing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress/integration/passing_spec.ts rename to system-tests/projects/ts-proj-tsconfig-in-plugins/cypress/integration/passing_spec.js diff --git a/packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/index.ts b/system-tests/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/index.ts rename to system-tests/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/tsconfig.json b/system-tests/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/tsconfig.json rename to system-tests/projects/ts-proj-tsconfig-in-plugins/cypress/plugins/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress.json b/system-tests/projects/ts-proj-with-module-esnext/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress.json rename to system-tests/projects/ts-proj-with-module-esnext/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress/integration/uses_cy_task_in_ts_plugins_file_spec.js b/system-tests/projects/ts-proj-with-module-esnext/cypress/integration/uses_cy_task_in_ts_plugins_file_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress/integration/uses_cy_task_in_ts_plugins_file_spec.js rename to system-tests/projects/ts-proj-with-module-esnext/cypress/integration/uses_cy_task_in_ts_plugins_file_spec.js diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress/plugins/greeting.ts b/system-tests/projects/ts-proj-with-module-esnext/cypress/plugins/greeting.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress/plugins/greeting.ts rename to system-tests/projects/ts-proj-with-module-esnext/cypress/plugins/greeting.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress/plugins/index.ts b/system-tests/projects/ts-proj-with-module-esnext/cypress/plugins/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/cypress/plugins/index.ts rename to system-tests/projects/ts-proj-with-module-esnext/cypress/plugins/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/tsconfig.json b/system-tests/projects/ts-proj-with-module-esnext/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-module-esnext/tsconfig.json rename to system-tests/projects/ts-proj-with-module-esnext/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress.json b/system-tests/projects/ts-proj-with-paths/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress.json rename to system-tests/projects/ts-proj-with-paths/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress/integration/app_spec.ts b/system-tests/projects/ts-proj-with-paths/cypress/integration/app_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress/integration/app_spec.ts rename to system-tests/projects/ts-proj-with-paths/cypress/integration/app_spec.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress/plugins/index.ts b/system-tests/projects/ts-proj-with-paths/cypress/plugins/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress/plugins/index.ts rename to system-tests/projects/ts-proj-with-paths/cypress/plugins/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress/support/index.ts b/system-tests/projects/ts-proj-with-paths/cypress/support/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-paths/cypress/support/index.ts rename to system-tests/projects/ts-proj-with-paths/cypress/support/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-paths/src/main.ts b/system-tests/projects/ts-proj-with-paths/src/main.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-paths/src/main.ts rename to system-tests/projects/ts-proj-with-paths/src/main.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj-with-paths/tsconfig.json b/system-tests/projects/ts-proj-with-paths/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj-with-paths/tsconfig.json rename to system-tests/projects/ts-proj-with-paths/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress.json b/system-tests/projects/ts-proj/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress.json rename to system-tests/projects/ts-proj/cypress.json diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress/integration/app_spec.ts b/system-tests/projects/ts-proj/cypress/integration/app_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress/integration/app_spec.ts rename to system-tests/projects/ts-proj/cypress/integration/app_spec.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress/integration/math.ts b/system-tests/projects/ts-proj/cypress/integration/math.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress/integration/math.ts rename to system-tests/projects/ts-proj/cypress/integration/math.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress/plugins/commonjs-export-function.js b/system-tests/projects/ts-proj/cypress/plugins/commonjs-export-function.js similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress/plugins/commonjs-export-function.js rename to system-tests/projects/ts-proj/cypress/plugins/commonjs-export-function.js diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress/plugins/index.ts b/system-tests/projects/ts-proj/cypress/plugins/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress/plugins/index.ts rename to system-tests/projects/ts-proj/cypress/plugins/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress/support/commands.ts b/system-tests/projects/ts-proj/cypress/support/commands.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress/support/commands.ts rename to system-tests/projects/ts-proj/cypress/support/commands.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj/cypress/support/index.ts b/system-tests/projects/ts-proj/cypress/support/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/cypress/support/index.ts rename to system-tests/projects/ts-proj/cypress/support/index.ts diff --git a/packages/server/test/support/fixtures/projects/ts-proj/tsconfig.json b/system-tests/projects/ts-proj/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/ts-proj/tsconfig.json rename to system-tests/projects/ts-proj/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/uncaught-support-file/cypress.json b/system-tests/projects/uncaught-support-file/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/uncaught-support-file/cypress.json rename to system-tests/projects/uncaught-support-file/cypress.json diff --git a/packages/server/test/support/fixtures/projects/uncaught-support-file/cypress/integration/spec.js b/system-tests/projects/uncaught-support-file/cypress/integration/spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/uncaught-support-file/cypress/integration/spec.js rename to system-tests/projects/uncaught-support-file/cypress/integration/spec.js diff --git a/packages/server/test/support/fixtures/projects/uncaught-support-file/cypress/support/index.js b/system-tests/projects/uncaught-support-file/cypress/support/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/uncaught-support-file/cypress/support/index.js rename to system-tests/projects/uncaught-support-file/cypress/support/index.js diff --git a/packages/server/test/support/fixtures/projects/utils.js b/system-tests/projects/utils.js similarity index 100% rename from packages/server/test/support/fixtures/projects/utils.js rename to system-tests/projects/utils.js diff --git a/packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/.gitkeep b/system-tests/projects/various-file-types/cypress/integration/.gitkeep similarity index 100% rename from packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/.gitkeep rename to system-tests/projects/various-file-types/cypress/integration/.gitkeep diff --git a/packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/coffee_spec.coffee b/system-tests/projects/various-file-types/cypress/integration/coffee_spec.coffee similarity index 100% rename from packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/coffee_spec.coffee rename to system-tests/projects/various-file-types/cypress/integration/coffee_spec.coffee diff --git a/packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/js_spec.js b/system-tests/projects/various-file-types/cypress/integration/js_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/js_spec.js rename to system-tests/projects/various-file-types/cypress/integration/js_spec.js diff --git a/packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/ts_spec.ts b/system-tests/projects/various-file-types/cypress/integration/ts_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/various-file-types/cypress/integration/ts_spec.ts rename to system-tests/projects/various-file-types/cypress/integration/ts_spec.ts diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/cypress.json b/system-tests/projects/webpack-preprocessor-awesome-typescript-loader/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/cypress.json rename to system-tests/projects/webpack-preprocessor-awesome-typescript-loader/cypress.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/cypress/integration/failing_spec.ts b/system-tests/projects/webpack-preprocessor-awesome-typescript-loader/cypress/integration/failing_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/cypress/integration/failing_spec.ts rename to system-tests/projects/webpack-preprocessor-awesome-typescript-loader/cypress/integration/failing_spec.ts diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/cypress/plugins/index.js b/system-tests/projects/webpack-preprocessor-awesome-typescript-loader/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/cypress/plugins/index.js rename to system-tests/projects/webpack-preprocessor-awesome-typescript-loader/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/tsconfig.json b/system-tests/projects/webpack-preprocessor-awesome-typescript-loader/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-awesome-typescript-loader/tsconfig.json rename to system-tests/projects/webpack-preprocessor-awesome-typescript-loader/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/cypress.json b/system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/cypress.json rename to system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/cypress.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/integration/failing_spec.ts b/system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/integration/failing_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/integration/failing_spec.ts rename to system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/integration/failing_spec.ts diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/plugins/index.js b/system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/plugins/index.js rename to system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/tsconfig.json b/system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader-compiler-options/tsconfig.json rename to system-tests/projects/webpack-preprocessor-ts-loader-compiler-options/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/cypress.json b/system-tests/projects/webpack-preprocessor-ts-loader/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/cypress.json rename to system-tests/projects/webpack-preprocessor-ts-loader/cypress.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/cypress/integration/failing_spec.ts b/system-tests/projects/webpack-preprocessor-ts-loader/cypress/integration/failing_spec.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/cypress/integration/failing_spec.ts rename to system-tests/projects/webpack-preprocessor-ts-loader/cypress/integration/failing_spec.ts diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/cypress/plugins/index.js b/system-tests/projects/webpack-preprocessor-ts-loader/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/cypress/plugins/index.js rename to system-tests/projects/webpack-preprocessor-ts-loader/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/tsconfig.json b/system-tests/projects/webpack-preprocessor-ts-loader/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor-ts-loader/tsconfig.json rename to system-tests/projects/webpack-preprocessor-ts-loader/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor/cypress.json b/system-tests/projects/webpack-preprocessor/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor/cypress.json rename to system-tests/projects/webpack-preprocessor/cypress.json diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor/cypress/integration/failing_spec.js b/system-tests/projects/webpack-preprocessor/cypress/integration/failing_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor/cypress/integration/failing_spec.js rename to system-tests/projects/webpack-preprocessor/cypress/integration/failing_spec.js diff --git a/packages/server/test/support/fixtures/projects/webpack-preprocessor/cypress/plugins/index.js b/system-tests/projects/webpack-preprocessor/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/webpack-preprocessor/cypress/plugins/index.js rename to system-tests/projects/webpack-preprocessor/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/working-preprocessor/cypress.json b/system-tests/projects/working-preprocessor/cypress.json similarity index 100% rename from packages/server/test/support/fixtures/projects/working-preprocessor/cypress.json rename to system-tests/projects/working-preprocessor/cypress.json diff --git a/packages/server/test/support/fixtures/projects/working-preprocessor/cypress/integration/another_spec.js b/system-tests/projects/working-preprocessor/cypress/integration/another_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/working-preprocessor/cypress/integration/another_spec.js rename to system-tests/projects/working-preprocessor/cypress/integration/another_spec.js diff --git a/packages/server/test/support/fixtures/projects/working-preprocessor/cypress/integration/app_spec.js b/system-tests/projects/working-preprocessor/cypress/integration/app_spec.js similarity index 100% rename from packages/server/test/support/fixtures/projects/working-preprocessor/cypress/integration/app_spec.js rename to system-tests/projects/working-preprocessor/cypress/integration/app_spec.js diff --git a/packages/server/test/support/fixtures/projects/working-preprocessor/cypress/plugins/index.js b/system-tests/projects/working-preprocessor/cypress/plugins/index.js similarity index 100% rename from packages/server/test/support/fixtures/projects/working-preprocessor/cypress/plugins/index.js rename to system-tests/projects/working-preprocessor/cypress/plugins/index.js diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/.gitignore b/system-tests/projects/yarn-v2-pnp/.gitignore similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/.gitignore rename to system-tests/projects/yarn-v2-pnp/.gitignore diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/.yarnrc.yml b/system-tests/projects/yarn-v2-pnp/.yarnrc.yml similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/.yarnrc.yml rename to system-tests/projects/yarn-v2-pnp/.yarnrc.yml diff --git a/system-tests/projects/yarn-v2-pnp/cypress.json b/system-tests/projects/yarn-v2-pnp/cypress.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/system-tests/projects/yarn-v2-pnp/cypress.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/cypress/integration/index.ts b/system-tests/projects/yarn-v2-pnp/cypress/integration/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/cypress/integration/index.ts rename to system-tests/projects/yarn-v2-pnp/cypress/integration/index.ts diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/cypress/plugins/index.ts b/system-tests/projects/yarn-v2-pnp/cypress/plugins/index.ts similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/cypress/plugins/index.ts rename to system-tests/projects/yarn-v2-pnp/cypress/plugins/index.ts diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/package.json b/system-tests/projects/yarn-v2-pnp/package.json similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/package.json rename to system-tests/projects/yarn-v2-pnp/package.json diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/tsconfig.json b/system-tests/projects/yarn-v2-pnp/tsconfig.json similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/tsconfig.json rename to system-tests/projects/yarn-v2-pnp/tsconfig.json diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/yarn-berry.cjs b/system-tests/projects/yarn-v2-pnp/yarn-berry.cjs similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/yarn-berry.cjs rename to system-tests/projects/yarn-v2-pnp/yarn-berry.cjs diff --git a/packages/server/test/support/fixtures/projects/yarn-v2-pnp/yarn.lock b/system-tests/projects/yarn-v2-pnp/yarn.lock similarity index 100% rename from packages/server/test/support/fixtures/projects/yarn-v2-pnp/yarn.lock rename to system-tests/projects/yarn-v2-pnp/yarn.lock diff --git a/system-tests/scripts/.eslintrc.json b/system-tests/scripts/.eslintrc.json new file mode 100644 index 0000000000..74e0826b6d --- /dev/null +++ b/system-tests/scripts/.eslintrc.json @@ -0,0 +1,5 @@ +{ + "parserOptions": { + "sourceType": "script" + } +} diff --git a/system-tests/scripts/run.js b/system-tests/scripts/run.js new file mode 100644 index 0000000000..1d32fd0196 --- /dev/null +++ b/system-tests/scripts/run.js @@ -0,0 +1,173 @@ +const _ = require('lodash') +const chalk = require('chalk') +const minimist = require('minimist') +const cp = require('child_process') + +const path = require('path') +const os = require('os') + +const options = minimist(process.argv.slice(2)) + +let run = options._ + +if (options['spec']) { + console.error('NOTE: It is no longer necessary to pass `--spec` to server test commands. Try passing the path directly instead.') + run = [options.spec] +} + +if (run[0] && run[0].includes('--inspect-brk')) { + run = run.slice(1) +} + +if (options['glob-in-dir']) { + if (run[0]) { + run = [path.join(options['glob-in-dir'], '**', `*${run[0]}*`)] + } else { + run = [path.join(options['glob-in-dir'], '**')] + } +} + +function exitErr (msg) { + console.error(chalk.red(msg)) + + return process.exit(1) +} + +const isWindows = () => { + return os.platform() === 'win32' +} + +const isGteNode12 = () => { + return Number(process.versions.node.split('.')[0]) >= 12 +} + +if (!run || !run.length) { + return exitErr(` + Error: A path to a spec file or a pattern must be specified! + + It should look something like this: + + $ yarn test ./test/unit/api_spec.js + $ yarn test api_spec + `) +} + +const commandAndArguments = { + command: '', + args: [], +} + +if (isWindows()) { + commandAndArguments.command = 'mocha' + commandAndArguments.args = run.slice() +} else { + commandAndArguments.command = 'xvfb-maybe' + // this should always match cli/lib/exec/xvfb.js + commandAndArguments.args = [ + `-as`, + `"-screen 0 1280x1024x24"`, + `--`, + 'node', + ] +} + +if (options['inspect-brk']) { + commandAndArguments.args.push( + '--inspect', + `--inspect-brk${options['inspect-brk'] === true ? '' : `=${options['inspect-brk']}`}`, + ) +} + +if (isGteNode12()) { + // max HTTP header size 8kb -> 1mb + // https://github.com/cypress-io/cypress/issues/76 + commandAndArguments.args.push( + `--max-http-header-size=${1024 * 1024}`, + ) +} + +if (!isWindows()) { + commandAndArguments.args.push( + 'node_modules/.bin/_mocha', + ) + + commandAndArguments.args = commandAndArguments.args.concat(run) +} + +if (options.fgrep) { + commandAndArguments.args.push( + '--fgrep', + options.fgrep, + ) +} + +commandAndArguments.args.push( + '--timeout', + options['inspect-brk'] ? '40000000' : '10000', + '--recursive', + '-r @packages/ts/register', + '--reporter', + 'mocha-multi-reporters', + '--reporter-options', + 'configFile=../../mocha-reporter-config.json', + '--extension=js,ts', + // restore mocha 2.x behavior to force end process after spec run + '--exit', +) + +const env = _.clone(process.env) + +env.NODE_ENV = 'test' +env.CYPRESS_INTERNAL_ENV = 'test' + +if (env.VERBOSE === '1') { + _.extend(env, { + CYPRESS_DEBUG: true, + NODE_DEBUG: 'request', + BLUEBIRD_DEBUG: 1, + DEBUG: _.chain([ + env.DEBUG, + 'nock.*', + '-nock.common', + '-nock.scope', + '-nock.interceptor', + 'socket.io:*', + 'xvfb-maybe', + ]) + .compact() + .join(','), + }) +} + +if (options.browser) { + env.BROWSER = options.browser +} + +if (options.headed) { + env.HEADED = true +} + +if (options.exit === false) { + env.NO_EXIT = '1' +} + +if (options['cypress-inspect-brk']) { + env.CYPRESS_INSPECT_BRK = '1' +} + +const cmd = `${commandAndArguments.command} ${ + commandAndArguments.args.join(' ')}` + +console.log('specfiles:', run) +console.log('test command:') +console.log(cmd) + +const child = cp.spawn(cmd, { shell: true, env, stdio: 'inherit' }) + +child.on('exit', (code, signal) => { + if (signal) { + console.error(`tests exited with signal ${signal}`) + } + + process.exit(code === null ? 1 : code) +}) diff --git a/packages/server/test/e2e/async_timeouts_spec.js b/system-tests/test/async_timeouts_spec.js similarity index 53% rename from packages/server/test/e2e/async_timeouts_spec.js rename to system-tests/test/async_timeouts_spec.js index 812d40c2e2..7a9526d062 100644 --- a/packages/server/test/e2e/async_timeouts_spec.js +++ b/system-tests/test/async_timeouts_spec.js @@ -1,9 +1,9 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e async timeouts', () => { - e2e.setup() + systemTests.setup() - e2e.it('failing1', { + systemTests.it('failing1', { spec: 'async_timeouts_spec.js', snapshot: true, expectedExitCode: 2, diff --git a/packages/server/test/e2e/base_url_spec.js b/system-tests/test/base_url_spec.js similarity index 77% rename from packages/server/test/e2e/base_url_spec.js rename to system-tests/test/base_url_spec.js index 10454ed2ec..3b8842d736 100644 --- a/packages/server/test/e2e/base_url_spec.js +++ b/system-tests/test/base_url_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = (app) => { return app.get('/app/html', (req, res) => { @@ -8,20 +8,20 @@ const onServer = (app) => { describe('e2e baseUrl', () => { context('https', () => { - e2e.setup({ + systemTests.setup({ settings: { baseUrl: 'https://httpbin.org', }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'base_url_spec.js', snapshot: true, }) }) context('http', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 9999, onServer, @@ -31,7 +31,7 @@ describe('e2e baseUrl', () => { }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'base_url_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/before_browser_launch_spec.ts b/system-tests/test/before_browser_launch_spec.ts similarity index 71% rename from packages/server/test/e2e/before_browser_launch_spec.ts rename to system-tests/test/before_browser_launch_spec.ts index f397bd310b..4cef93a9fb 100644 --- a/packages/server/test/e2e/before_browser_launch_spec.ts +++ b/system-tests/test/before_browser_launch_spec.ts @@ -1,6 +1,6 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' -import browserUtils from '../../lib/browsers/utils' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' +import browserUtils from '@packages/server/lib/browsers/utils' const browser = { name: 'chrome', @@ -10,9 +10,9 @@ const isTextTerminal = true // we're always in run mode const PATH_TO_CHROME_PROFILE = browserUtils.getProfileDir(browser, isTextTerminal) describe('e2e before:browser:launch', () => { - e2e.setup() + systemTests.setup() - e2e.it('modifies preferences on disk if DNE', { + systemTests.it('modifies preferences on disk if DNE', { browser: 'chrome', config: { video: false, @@ -25,7 +25,7 @@ describe('e2e before:browser:launch', () => { spec: 'spec.js', }) - e2e.it('can add extensions', { + systemTests.it('can add extensions', { spec: 'spec.js', config: { video: false, diff --git a/packages/server/test/e2e/block_hosts_spec.js b/system-tests/test/block_hosts_spec.js similarity index 84% rename from packages/server/test/e2e/block_hosts_spec.js rename to system-tests/test/block_hosts_spec.js index d2e39e8044..1040907ffc 100644 --- a/packages/server/test/e2e/block_hosts_spec.js +++ b/system-tests/test/block_hosts_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = function (app) { app.get('/', (req, res) => { @@ -15,7 +15,7 @@ const onServer = function (app) { } describe('e2e blockHosts', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 3131, onServer, @@ -31,7 +31,7 @@ describe('e2e blockHosts', () => { }) it('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'block_hosts_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/browser_path_spec.js b/system-tests/test/browser_path_spec.js similarity index 88% rename from packages/server/test/e2e/browser_path_spec.js rename to system-tests/test/browser_path_spec.js index 8ddafdbd75..fc68a922c4 100644 --- a/packages/server/test/e2e/browser_path_spec.js +++ b/system-tests/test/browser_path_spec.js @@ -1,8 +1,8 @@ const path = require('path') const { exec } = require('child_process') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const launcher = require('@packages/launcher') const absPath = (pathStr) => { @@ -22,10 +22,10 @@ const absPath = (pathStr) => { } describe('e2e launching browsers by path', () => { - e2e.setup() + systemTests.setup() it('fails with bad browser path', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('e2e'), spec: 'simple_spec.js', browser: '/this/aint/gonna/be/found', @@ -52,7 +52,7 @@ describe('e2e launching browsers by path', () => { // so that server recognizes them as a path, not as a browser name .then((absPath)) .then((foundPath) => { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('e2e'), spec: 'simple_spec.js', browser: foundPath, diff --git a/packages/server/test/e2e/busted_support_file_spec.js b/system-tests/test/busted_support_file_spec.js similarity index 57% rename from packages/server/test/e2e/busted_support_file_spec.js rename to system-tests/test/busted_support_file_spec.js index 1a54dbbbe7..ce196e218b 100644 --- a/packages/server/test/e2e/busted_support_file_spec.js +++ b/system-tests/test/busted_support_file_spec.js @@ -1,18 +1,18 @@ -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default const bustedSupportFile = Fixtures.projectPath('busted-support-file') describe('e2e busted support file', () => { - e2e.setup() + systemTests.setup() it('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: bustedSupportFile, sanitizeScreenshotDimensions: true, snapshot: true, expectedExitCode: 1, - onStdout: e2e.normalizeWebpackErrors, + onStdout: systemTests.normalizeWebpackErrors, }) }) }) diff --git a/packages/server/test/e2e/cache_spec.js b/system-tests/test/cache_spec.js similarity index 86% rename from packages/server/test/e2e/cache_spec.js rename to system-tests/test/cache_spec.js index 7f0546cac8..e286b3dd35 100644 --- a/packages/server/test/e2e/cache_spec.js +++ b/system-tests/test/cache_spec.js @@ -1,7 +1,7 @@ const fs = require('fs') const path = require('path') -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default const replacerRe = /(

)\w+(<\/h1>)/ @@ -33,7 +33,7 @@ const onServer = function (app) { } describe('e2e cache', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 1515, onServer, @@ -45,21 +45,21 @@ describe('e2e cache', () => { }) it('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'cache_spec.js', snapshot: true, }) }) it('clears cache when browser is spawned', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'cache_clearing_spec.js', }) .then(() => { // only 1 request should have gone out expect(requestsForCache).to.eq(1) - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'cache_clearing_spec.js', }) .then(() => { diff --git a/packages/server/test/e2e/caught_uncaught_hook_errors_spec.js b/system-tests/test/caught_uncaught_hook_errors_spec.js similarity index 72% rename from packages/server/test/e2e/caught_uncaught_hook_errors_spec.js rename to system-tests/test/caught_uncaught_hook_errors_spec.js index dbe4e8f977..9ff913ed56 100644 --- a/packages/server/test/e2e/caught_uncaught_hook_errors_spec.js +++ b/system-tests/test/caught_uncaught_hook_errors_spec.js @@ -1,32 +1,32 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e caught and uncaught hooks errors', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 7878, static: true, }, }) - e2e.it('failing1', { + systemTests.it('failing1', { spec: 'hook_caught_error_failing_spec.js', snapshot: true, expectedExitCode: 3, }) - e2e.it('failing2', { + systemTests.it('failing2', { spec: 'hook_uncaught_error_failing_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('failing3', { + systemTests.it('failing3', { spec: 'hook_uncaught_root_error_failing_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('failing4', { + systemTests.it('failing4', { spec: 'hook_uncaught_error_events_failing_spec.js', snapshot: true, expectedExitCode: 1, diff --git a/packages/server/test/e2e/cdp_spec.ts b/system-tests/test/cdp_spec.ts similarity index 78% rename from packages/server/test/e2e/cdp_spec.ts rename to system-tests/test/cdp_spec.ts index c80af4680e..79d77badd8 100644 --- a/packages/server/test/e2e/cdp_spec.ts +++ b/system-tests/test/cdp_spec.ts @@ -1,9 +1,9 @@ import mockedEnv from 'mocked-env' -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e cdp', function () { - e2e.setup() + systemTests.setup() let restoreEnv: Function beforeEach(() => { @@ -17,7 +17,7 @@ describe('e2e cdp', function () { }) // NOTE: this test takes almost a minute and is largely redundant with protocol_spec - e2e.it.skip('fails when remote debugging port cannot be connected to', { + systemTests.it.skip('fails when remote debugging port cannot be connected to', { project: Fixtures.projectPath('remote-debugging-port-removed'), spec: 'spec.ts', browser: 'chrome', @@ -25,7 +25,7 @@ describe('e2e cdp', function () { }) // https://github.com/cypress-io/cypress/issues/5685 - e2e.it('handles disconnections as expected', { + systemTests.it('handles disconnections as expected', { project: Fixtures.projectPath('remote-debugging-disconnect'), spec: 'spec.ts', browser: 'chrome', diff --git a/packages/server/test/e2e/commands_outside_of_test_spec.js b/system-tests/test/commands_outside_of_test_spec.js similarity index 60% rename from packages/server/test/e2e/commands_outside_of_test_spec.js rename to system-tests/test/commands_outside_of_test_spec.js index 57921b2726..013f696431 100644 --- a/packages/server/test/e2e/commands_outside_of_test_spec.js +++ b/system-tests/test/commands_outside_of_test_spec.js @@ -1,21 +1,21 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e commands outside of test', () => { - e2e.setup() + systemTests.setup() - e2e.it('fails on cy commands', { + systemTests.it('fails on cy commands', { spec: 'commands_outside_of_test_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('fails on failing assertions', { + systemTests.it('fails on failing assertions', { spec: 'assertions_failing_outside_of_test_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('passes on passing assertions', { + systemTests.it('passes on passing assertions', { spec: 'assertions_passing_outside_of_test_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/config_spec.js b/system-tests/test/config_spec.js similarity index 80% rename from packages/server/test/e2e/config_spec.js rename to system-tests/test/config_spec.js index 0a5d80d10f..c39a9eebff 100644 --- a/packages/server/test/e2e/config_spec.js +++ b/system-tests/test/config_spec.js @@ -1,13 +1,13 @@ -const e2e = require('../support/helpers/e2e').default -const { fs } = require('../../lib/util/fs') +const systemTests = require('../lib/system-tests').default +const { fs } = require('@packages/server/lib/util/fs') const path = require('path') -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('../lib/fixtures') describe('e2e config', () => { - e2e.setup() + systemTests.setup() it('provides various environment details', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'config_passing_spec.js', snapshot: true, config: { @@ -19,7 +19,7 @@ describe('e2e config', () => { }) it('applies defaultCommandTimeout globally', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-short-timeout'), snapshot: true, expectedExitCode: 1, @@ -29,7 +29,7 @@ describe('e2e config', () => { // TODO: test that environment variables and CYPRESS_config work as well it('throws error when invalid viewportWidth in the configuration file', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-invalid-viewport'), expectedExitCode: 1, snapshot: true, @@ -37,7 +37,7 @@ describe('e2e config', () => { }) it('throws error when invalid browser in the configuration file', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-invalid-browser'), expectedExitCode: 1, snapshot: true, @@ -45,33 +45,33 @@ describe('e2e config', () => { }) it('supports global shadow dom inclusion', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('shadow-dom-global-inclusion'), }) }) it('supports custom configFile in JavaScript', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-custom-file-js'), configFile: 'cypress.config.custom.js', }) }) it('supports custom configFile in TypeScript', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-custom-file-ts'), configFile: 'cypress.config.custom.ts', }) }) it('supports custom configFile in a default JavaScript file', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-js'), }) }) it('supports custom configFile in a default TypeScript file', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('config-with-ts'), }) }) @@ -83,7 +83,7 @@ describe('e2e config', () => { fs.writeFile(path.join(projectRoot, 'cypress.config.js'), 'module.exports = {}'), fs.writeFile(path.join(projectRoot, 'cypress.config.ts'), 'export default {}'), ]).then(() => { - return e2e.exec(this, { + return systemTests.exec(this, { project: projectRoot, expectedExitCode: 1, snapshot: true, diff --git a/packages/server/test/e2e/controllers_spec.js b/system-tests/test/controllers_spec.js similarity index 84% rename from packages/server/test/e2e/controllers_spec.js rename to system-tests/test/controllers_spec.js index 06cef27690..4a1d0863ba 100644 --- a/packages/server/test/e2e/controllers_spec.js +++ b/system-tests/test/controllers_spec.js @@ -1,17 +1,17 @@ const fs = require('fs-extra') const path = require('path') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const nonExistentSpec = Fixtures.projectPath('non-existent-spec') const e2eProject = Fixtures.projectPath('e2e') describe('e2e plugins', () => { - e2e.setup() + systemTests.setup() it('fails when spec does not exist', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'spec.js', project: nonExistentSpec, sanitizeScreenshotDimensions: true, @@ -26,7 +26,7 @@ describe('e2e plugins', () => { return fs.outputFile(specPath, 'it(\'passes\', () => {})') .then(() => { - return e2e.exec(this, { + return systemTests.exec(this, { spec: specPath, sanitizeScreenshotDimensions: true, }) diff --git a/packages/server/test/e2e/cookies_spec.ts b/system-tests/test/cookies_spec.ts similarity index 98% rename from packages/server/test/e2e/cookies_spec.ts rename to system-tests/test/cookies_spec.ts index b2f985560f..b50cdb5a1a 100644 --- a/packages/server/test/e2e/cookies_spec.ts +++ b/system-tests/test/cookies_spec.ts @@ -1,11 +1,11 @@ /* eslint-disable no-restricted-properties */ import dayjs from 'dayjs' import parser from 'cookie-parser' -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' import humanInterval from 'human-interval' import cors from 'cors' -const it = e2e.it +const it = systemTests.it const onServer = function (app) { app.use(parser()) @@ -173,7 +173,7 @@ const sharedBaseUrlSpecSnapshot = 'e2e cookies with baseurl' const sharedNoBaseUrlSpecSnapshot = 'e2e cookies with no baseurl' describe('e2e cookies', () => { - e2e.setup({ + systemTests.setup({ servers: [{ onServer, port: httpPort, @@ -324,7 +324,7 @@ describe('cross-origin cookies, set:cookies', () => { }) } - e2e.setup({ + systemTests.setup({ servers: [{ onServer, port: httpPort, diff --git a/packages/server/test/e2e/deprecated_spec.ts b/system-tests/test/deprecated_spec.ts similarity index 86% rename from packages/server/test/e2e/deprecated_spec.ts rename to system-tests/test/deprecated_spec.ts index 7815a73898..f02c9001f2 100644 --- a/packages/server/test/e2e/deprecated_spec.ts +++ b/system-tests/test/deprecated_spec.ts @@ -1,12 +1,12 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' const beforeBrowserLaunchProject = Fixtures.projectPath('plugin-before-browser-launch-deprecation') describe('deprecated before:browser:launch args', () => { - e2e.setup() + systemTests.setup() - e2e.it('fails when adding unknown properties to launchOptions', { + systemTests.it('fails when adding unknown properties to launchOptions', { config: { video: false, env: { @@ -19,7 +19,7 @@ describe('deprecated before:browser:launch args', () => { snapshot: true, }) - e2e.it('push and no return - warns user exactly once', { + systemTests.it('push and no return - warns user exactly once', { config: { video: false, env: { @@ -33,7 +33,7 @@ describe('deprecated before:browser:launch args', () => { psInclude: ['--foo', '--bar'], }) - e2e.it('using non-deprecated API - no warning', { + systemTests.it('using non-deprecated API - no warning', { // TODO: implement webPreferences.additionalArgs here // once we decide if/what we're going to make the implemenation // SUGGESTION: add this to Cypress.browser.args which will capture @@ -51,7 +51,7 @@ describe('deprecated before:browser:launch args', () => { psInclude: ['--foo', '--bar'], }) - e2e.it('concat return returns once per spec', { + systemTests.it('concat return returns once per spec', { // TODO: implement webPreferences.additionalArgs here // once we decide if/what we're going to make the implemenation // SUGGESTION: add this to Cypress.browser.args which will capture @@ -68,7 +68,7 @@ describe('deprecated before:browser:launch args', () => { stdoutInclude: 'Deprecation Warning:', }) - e2e.it('no mutate return', { + systemTests.it('no mutate return', { // TODO: implement webPreferences.additionalArgs here // once we decide if/what we're going to make the implemenation // SUGGESTION: add this to Cypress.browser.args which will capture @@ -91,7 +91,7 @@ describe('deprecated before:browser:launch args', () => { // error which reads strangely - the message + stack are both // printed. we should print that we are aborting the run because // the before:browser:launch handler threw an error / rejected - e2e.it('displays errors thrown and aborts the run', { + systemTests.it('displays errors thrown and aborts the run', { config: { video: false, env: { @@ -109,7 +109,7 @@ describe('deprecated before:browser:launch args', () => { // error which reads strangely - the message + stack are both // printed. we should print that we are aborting the run because // the before:browser:launch handler threw an error / rejected - e2e.it('displays promises rejected and aborts the run', { + systemTests.it('displays promises rejected and aborts the run', { config: { video: false, env: { diff --git a/packages/server/test/e2e/domain_spec.js b/system-tests/test/domain_spec.js similarity index 72% rename from packages/server/test/e2e/domain_spec.js rename to system-tests/test/domain_spec.js index 5a79c0ca6b..bc2d303c79 100644 --- a/packages/server/test/e2e/domain_spec.js +++ b/system-tests/test/domain_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const hosts = { 'app.localhost': '127.0.0.1', @@ -6,14 +6,14 @@ const hosts = { } describe('e2e domain', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 4848, static: true, }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'domain*', snapshot: true, video: false, diff --git a/packages/server/test/e2e/downloads_spec.ts b/system-tests/test/downloads_spec.ts similarity index 82% rename from packages/server/test/e2e/downloads_spec.ts rename to system-tests/test/downloads_spec.ts index 2fedbe485d..e2f5d41597 100644 --- a/packages/server/test/e2e/downloads_spec.ts +++ b/system-tests/test/downloads_spec.ts @@ -1,15 +1,15 @@ import path from 'path' -import e2e, { expect } from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' -import { fs } from '../../lib/util/fs' +import systemTests, { expect } from '../lib/system-tests' +import Fixtures from '../lib/fixtures' +import { fs } from '@packages/server/lib/util/fs' const downloadsProject = Fixtures.projectPath('downloads') describe('e2e downloads', () => { - e2e.setup() + systemTests.setup() - e2e.it('handles various file downloads', { + systemTests.it('handles various file downloads', { project: downloadsProject, spec: 'downloads_spec.ts', config: { @@ -21,7 +21,7 @@ describe('e2e downloads', () => { return fs.pathExists(path.join(Fixtures.projectPath('downloads'), 'cypress', 'dls', fileName)) } - e2e.it('allows changing the downloads folder', { + systemTests.it('allows changing the downloads folder', { project: Fixtures.projectPath('downloads'), spec: '*', config: { @@ -38,13 +38,13 @@ describe('e2e downloads', () => { }) it('trashes downloads between runs', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { project: downloadsProject, spec: 'download_csv_spec.ts', }) // this run should trash the downloads from the above run - await e2e.exec(this, { + await systemTests.exec(this, { project: downloadsProject, spec: 'simple_passing_spec.ts', }) @@ -56,13 +56,13 @@ describe('e2e downloads', () => { }) it('does not trash downloads between runs if trashAssetsBeforeRuns: false', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { project: downloadsProject, spec: 'download_csv_spec.ts', }) // this run should _not_ trash the downloads from the above run - await e2e.exec(this, { + await systemTests.exec(this, { project: downloadsProject, spec: 'simple_passing_spec.ts', config: { diff --git a/packages/server/test/e2e/error_ui_spec.ts b/system-tests/test/error_ui_spec.ts similarity index 68% rename from packages/server/test/e2e/error_ui_spec.ts rename to system-tests/test/error_ui_spec.ts index 99a61a39af..63da95be84 100644 --- a/packages/server/test/e2e/error_ui_spec.ts +++ b/system-tests/test/error_ui_spec.ts @@ -1,5 +1,5 @@ -import e2e, { expect } from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests, { expect } from '../lib/system-tests' +import Fixtures from '../lib/fixtures' import path from 'path' const verifyPassedAndFailedAreSame = (expectedFailures) => { @@ -11,16 +11,18 @@ const verifyPassedAndFailedAreSame = (expectedFailures) => { } describe('e2e error ui', function () { - e2e.setup() + systemTests.setup() ;[ 'webpack-preprocessor', 'webpack-preprocessor-ts-loader', 'webpack-preprocessor-ts-loader-compiler-options', - 'webpack-preprocessor-awesome-typescript-loader', + // TODO: unskip this once we understand why it is failing + // @see https://github.com/cypress-io/cypress/issues/18497 + // 'webpack-preprocessor-awesome-typescript-loader', ] .forEach((project) => { - e2e.it(`handles sourcemaps in webpack for project: ${project}`, { + systemTests.it(`handles sourcemaps in webpack for project: ${project}`, { project: Fixtures.projectPath(project), spec: 'failing_spec.*', expectedExitCode: 1, @@ -31,7 +33,7 @@ describe('e2e error ui', function () { }) // https://github.com/cypress-io/cypress/issues/16255 - e2e.it('handles errors when integration folder is outside of project root', { + systemTests.it('handles errors when integration folder is outside of project root', { project: path.join(Fixtures.projectPath('integration-outside-project-root'), 'project-root'), spec: '../../../integration/failing_spec.js', expectedExitCode: 1, diff --git a/packages/server/test/e2e/es_modules_spec.js b/system-tests/test/es_modules_spec.js similarity index 62% rename from packages/server/test/e2e/es_modules_spec.js rename to system-tests/test/es_modules_spec.js index cf5df3230e..98f71005bf 100644 --- a/packages/server/test/e2e/es_modules_spec.js +++ b/system-tests/test/es_modules_spec.js @@ -1,10 +1,10 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e es modules', () => { - e2e.setup() + systemTests.setup() it('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'es_modules_in_coffee_spec.coffee', snapshot: true, noTypeScript: true, @@ -12,12 +12,12 @@ describe('e2e es modules', () => { }) it('fails', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'es_module_import_failing_spec.js', snapshot: true, expectedExitCode: 1, noTypeScript: true, - onStdout: e2e.normalizeWebpackErrors, + onStdout: systemTests.normalizeWebpackErrors, }) }) }) diff --git a/packages/server/test/e2e/fetch_polyfill_spec.js b/system-tests/test/fetch_polyfill_spec.js similarity index 96% rename from packages/server/test/e2e/fetch_polyfill_spec.js rename to system-tests/test/fetch_polyfill_spec.js index 3d4bf629d4..38e9488868 100644 --- a/packages/server/test/e2e/fetch_polyfill_spec.js +++ b/system-tests/test/fetch_polyfill_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const { stripIndent } = require('common-tags') const bodyParser = require('body-parser') @@ -128,14 +128,14 @@ const onServer = function (app) { } describe('e2e fetch polyfill', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 1818, onServer, }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'fetch_spec.js', snapshot: false, config: { @@ -145,14 +145,14 @@ describe('e2e fetch polyfill', () => { }) describe('e2e no fetch polyfill', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 1818, onServer, }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'fetch_no_polyfill_spec.js', snapshot: false, config: { diff --git a/packages/server/test/e2e/firefox_spec.ts b/system-tests/test/firefox_spec.ts similarity index 87% rename from packages/server/test/e2e/firefox_spec.ts rename to system-tests/test/firefox_spec.ts index 6baf2d51a1..2fcb8d5c83 100644 --- a/packages/server/test/e2e/firefox_spec.ts +++ b/system-tests/test/firefox_spec.ts @@ -2,20 +2,20 @@ import path from 'path' import util from 'util' import fs from 'fs-extra' -import e2e, { expect } from '../support/helpers/e2e' +import systemTests, { expect } from '../lib/system-tests' import Bluebird from 'bluebird' -import Fixtures from '../support/helpers/fixtures' +import Fixtures from '../lib/fixtures' const e2ePath = Fixtures.projectPath('e2e') const outputPath = path.join(e2ePath, 'output.json') describe('e2e firefox', function () { - e2e.setup() + systemTests.setup() // NOTE: This can be used to demonstrate the Firefox out-of-memory issue, but it is skipped // because it takes forever and is redundant since we test `services` against Cypress prereleases. // @see https://github.com/cypress-io/cypress/issues/6187 - e2e.it.skip('can run a lot of tests', { + systemTests.it.skip('can run a lot of tests', { outputPath, project: Fixtures.projectPath('firefox-memory'), spec: 'spec.js', @@ -52,7 +52,7 @@ describe('e2e firefox', function () { // snapshot: true, }) - e2e.it('launches maximized by default', { + systemTests.it('launches maximized by default', { browser: 'firefox', project: Fixtures.projectPath('screen-size'), spec: 'maximized.spec.js', @@ -71,7 +71,7 @@ describe('e2e firefox', function () { // NOTE: only an issue on windows // https://github.com/cypress-io/cypress/issues/6392 - e2e.it.skip('can run multiple specs', { + systemTests.it.skip('can run multiple specs', { browser: 'firefox', project: Fixtures.projectPath('e2e'), spec: 'simple_spec.js,simple_passing_spec.js', diff --git a/packages/server/test/e2e/form_submissions_spec.js b/system-tests/test/form_submissions_spec.js similarity index 87% rename from packages/server/test/e2e/form_submissions_spec.js rename to system-tests/test/form_submissions_spec.js index 6e7d9d316d..38462a8998 100644 --- a/packages/server/test/e2e/form_submissions_spec.js +++ b/system-tests/test/form_submissions_spec.js @@ -2,19 +2,19 @@ const rp = require('@cypress/request-promise') const path = require('path') const bodyParser = require('body-parser') const multer = require('multer') -const { fs } = require('../../lib/util/fs') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const { fs } = require('@packages/server/lib/util/fs') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const HTTPS_PORT = 11443 const HTTP_PORT = 11180 describe('e2e form submissions', () => { - return e2e.setup() + return systemTests.setup() }) const e2ePath = Fixtures.projectPath('e2e') -const pathToLargeImage = Fixtures.path('server/imgs/earth.jpg') +const pathToLargeImage = Fixtures.path('server/large-img/earth.jpg') const getFormHtml = (formAttrs, textValue = '') => { return `\ @@ -87,14 +87,14 @@ buffer compare yielded: ${ret}\ describe('e2e forms', () => { context('submissions with jquery XHR POST', () => { - e2e.setup() + systemTests.setup() - e2e.it('passing', { + systemTests.it('passing', { spec: 'form_submission_passing_spec.js', snapshot: true, }) - e2e.it('failing', { + systemTests.it('failing', { spec: 'form_submission_failing_spec.js', snapshot: true, expectedExitCode: 1, @@ -106,7 +106,7 @@ describe('e2e forms', () => { }) context('
submissions', () => { - e2e.setup({ + systemTests.setup({ settings: { env: { PATH_TO_LARGE_IMAGE: pathToLargeImage, @@ -138,7 +138,7 @@ describe('e2e forms', () => { }) }) - e2e.it('passes with https on localhost', { + systemTests.it('passes with https on localhost', { config: { baseUrl: `https://localhost:${HTTPS_PORT}`, }, @@ -146,7 +146,7 @@ describe('e2e forms', () => { snapshot: true, }) - e2e.it('passes with http on localhost', { + systemTests.it('passes with http on localhost', { config: { baseUrl: `http://localhost:${HTTP_PORT}`, }, diff --git a/packages/server/test/e2e/go_spec.js b/system-tests/test/go_spec.js similarity index 83% rename from packages/server/test/e2e/go_spec.js rename to system-tests/test/go_spec.js index ce91b2afa0..7dc90c5b5f 100644 --- a/packages/server/test/e2e/go_spec.js +++ b/system-tests/test/go_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = function (app) { app.get('/first', (req, res) => { @@ -11,7 +11,7 @@ const onServer = function (app) { } describe('e2e go', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 1818, onServer, @@ -21,7 +21,7 @@ describe('e2e go', () => { // this tests that history changes work as intended // there have been regressions in electron which would // otherwise cause these tests to fail - e2e.it('passes', { + systemTests.it('passes', { spec: 'go_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/headless_spec.ts b/system-tests/test/headless_spec.ts similarity index 80% rename from packages/server/test/e2e/headless_spec.ts rename to system-tests/test/headless_spec.ts index 264adffb61..0d87f4db13 100644 --- a/packages/server/test/e2e/headless_spec.ts +++ b/system-tests/test/headless_spec.ts @@ -1,8 +1,8 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e headless', function () { - e2e.setup() + systemTests.setup() describe('ELECTRON_RUN_AS_NODE', () => { const baseSpec = { @@ -24,7 +24,7 @@ describe('e2e headless', function () { }, } - e2e.it('pass for browsers that do not need xvfb', { + systemTests.it('pass for browsers that do not need xvfb', { ...baseSpec, browser: ['chrome', 'chrome-beta', 'firefox'], expectedExitCode: 0, @@ -35,7 +35,7 @@ describe('e2e headless', function () { }, }) - e2e.it('fails for browsers that do need xvfb', { + systemTests.it('fails for browsers that do need xvfb', { ...baseSpec, expectedExitCode: 1, browser: ['electron'], @@ -43,7 +43,7 @@ describe('e2e headless', function () { }) // cypress run --headless - e2e.it('tests in headless mode pass', { + systemTests.it('tests in headless mode pass', { spec: 'headless_spec.js', config: { env: { @@ -65,7 +65,7 @@ describe('e2e headless', function () { 'electron', '!electron', ].map((b) => { - e2e.it(`tests in headed mode pass in ${b}`, { + systemTests.it(`tests in headed mode pass in ${b}`, { spec: 'headless_spec.js', config: { env: { @@ -79,13 +79,13 @@ describe('e2e headless', function () { }) }) - e2e.it('launches maximized by default in headless mode (1920x1080)', { + systemTests.it('launches maximized by default in headless mode (1920x1080)', { headed: false, project: Fixtures.projectPath('screen-size'), spec: 'default_size.spec.js', }) - e2e.it('launches at DPR 1x', { + systemTests.it('launches at DPR 1x', { headed: false, project: Fixtures.projectPath('screen-size'), spec: 'device_pixel_ratio.spec.js', diff --git a/packages/server/test/e2e/iframe_spec.js b/system-tests/test/iframe_spec.js similarity index 92% rename from packages/server/test/e2e/iframe_spec.js rename to system-tests/test/iframe_spec.js index 471daca12f..5061d1da24 100644 --- a/packages/server/test/e2e/iframe_spec.js +++ b/system-tests/test/iframe_spec.js @@ -1,7 +1,7 @@ const path = require('path') const bodyParser = require('body-parser') -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default const e2ePath = Fixtures.projectPath('e2e') @@ -69,14 +69,14 @@ outer contents } describe('e2e iframes', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 1616, onServer, }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'iframe_spec.js', snapshot: true, config: { diff --git a/packages/server/test/e2e/images_spec.js b/system-tests/test/images_spec.js similarity index 71% rename from packages/server/test/e2e/images_spec.js rename to system-tests/test/images_spec.js index 54ea9d12c2..c078e10b6d 100644 --- a/packages/server/test/e2e/images_spec.js +++ b/system-tests/test/images_spec.js @@ -1,7 +1,7 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e images', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 3636, static: true, @@ -10,7 +10,7 @@ describe('e2e images', () => { // this tests that images are correctly proxied and that we are not // accidentally modifying their bytes in the stream - e2e.it('passes', { + systemTests.it('passes', { spec: 'images_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/interception_spec.js b/system-tests/test/interception_spec.js similarity index 91% rename from packages/server/test/e2e/interception_spec.js rename to system-tests/test/interception_spec.js index dd63e3f236..8cea00f5e1 100644 --- a/packages/server/test/e2e/interception_spec.js +++ b/system-tests/test/interception_spec.js @@ -1,6 +1,6 @@ const compression = require('compression') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const path = require('path') const PORT = 9876 @@ -36,7 +36,7 @@ const pageOnlyController = (charset) => { } describe('e2e interception spec', () => { - e2e.setup({ + systemTests.setup({ servers: [ { onServer (app) { @@ -61,7 +61,7 @@ describe('e2e interception spec', () => { context('character encodings', () => { // @see https://github.com/cypress-io/cypress/issues/1543 it('does not mangle non-UTF-8 text', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'character_encoding_spec.js', config: { defaultCommandTimeout: 100, diff --git a/packages/server/test/e2e/issue_149_spec.js b/system-tests/test/issue_149_spec.js similarity index 68% rename from packages/server/test/e2e/issue_149_spec.js rename to system-tests/test/issue_149_spec.js index 609fb2f689..3c940b30fb 100644 --- a/packages/server/test/e2e/issue_149_spec.js +++ b/system-tests/test/issue_149_spec.js @@ -1,13 +1,13 @@ -const { fs } = require('../../lib/util/fs') -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default +const { fs } = require('@packages/server/lib/util/fs') +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default describe('e2e issue 149', () => { - e2e.setup() + systemTests.setup() // https://github.com/cypress-io/cypress/issues/149 it('failing', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'issue_149_spec.js', snapshot: true, expectedExitCode: 1, diff --git a/packages/server/test/e2e/issue_1669_spec.js b/system-tests/test/issue_1669_spec.js similarity index 67% rename from packages/server/test/e2e/issue_1669_spec.js rename to system-tests/test/issue_1669_spec.js index 340f99b89d..7c4805785f 100644 --- a/packages/server/test/e2e/issue_1669_spec.js +++ b/system-tests/test/issue_1669_spec.js @@ -1,11 +1,11 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e issue 1669', () => { - e2e.setup() + systemTests.setup() // https://github.com/cypress-io/cypress/issues/1669 it('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'issue_1669_spec.js', snapshot: true, browser: 'chrome', diff --git a/packages/server/test/e2e/issue_173_spec.ts b/system-tests/test/issue_173_spec.ts similarity index 63% rename from packages/server/test/e2e/issue_173_spec.ts rename to system-tests/test/issue_173_spec.ts index a7b5a35343..87426ccca5 100644 --- a/packages/server/test/e2e/issue_173_spec.ts +++ b/system-tests/test/issue_173_spec.ts @@ -1,10 +1,10 @@ -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' describe('e2e issue 173', () => { - e2e.setup() + systemTests.setup() // https://github.com/cypress-io/cypress/issues/173 - e2e.it('failing', { + systemTests.it('failing', { spec: 'issue_173_spec.js', snapshot: true, expectedExitCode: 1, diff --git a/packages/server/test/e2e/issue_2891_spec.js b/system-tests/test/issue_2891_spec.js similarity index 64% rename from packages/server/test/e2e/issue_2891_spec.js rename to system-tests/test/issue_2891_spec.js index d9679e2aed..cc26822cf0 100644 --- a/packages/server/test/e2e/issue_2891_spec.js +++ b/system-tests/test/issue_2891_spec.js @@ -1,12 +1,12 @@ -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') describe('e2e issue 2891', () => { - e2e.setup() + systemTests.setup() // https://github.com/cypress-io/cypress/issues/2891 it('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('default-layout'), spec: 'default_layout_spec.js', sanitizeScreenshotDimensions: true, diff --git a/packages/server/test/e2e/issue_5475_spec.js b/system-tests/test/issue_5475_spec.js similarity index 51% rename from packages/server/test/e2e/issue_5475_spec.js rename to system-tests/test/issue_5475_spec.js index d59ec3fb6e..d2adb0697d 100644 --- a/packages/server/test/e2e/issue_5475_spec.js +++ b/system-tests/test/issue_5475_spec.js @@ -1,9 +1,9 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e issue 5475 history pushState hangs', function () { - e2e.setup() + systemTests.setup() - e2e.it('fails when remote debugging port cannot be connected to', { + systemTests.it('fails when remote debugging port cannot be connected to', { spec: 'issue_5475*', browser: 'electron', expectedExitCode: 1, diff --git a/packages/server/test/e2e/issue_6619.ts b/system-tests/test/issue_6619.ts similarity index 69% rename from packages/server/test/e2e/issue_6619.ts rename to system-tests/test/issue_6619.ts index 2e30ac8f57..c4c8bfe9db 100644 --- a/packages/server/test/e2e/issue_6619.ts +++ b/system-tests/test/issue_6619.ts @@ -1,12 +1,12 @@ -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' describe('e2e issue 6619', () => { - e2e.setup() + systemTests.setup() // this tests open mode behavior // when the user hits the 'reload' button in open mode // https://github.com/cypress-io/cypress/issues/6619 - e2e.it('can reload during spec run', { + systemTests.it('can reload during spec run', { spec: 'reload-spec.spec.js', snapshot: true, timeout: 30000, diff --git a/packages/server/test/e2e/issue_674_spec.js b/system-tests/test/issue_674_spec.js similarity index 61% rename from packages/server/test/e2e/issue_674_spec.js rename to system-tests/test/issue_674_spec.js index ebe4cd2361..7c63ce064a 100644 --- a/packages/server/test/e2e/issue_674_spec.js +++ b/system-tests/test/issue_674_spec.js @@ -1,10 +1,10 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e issue 674', () => { - e2e.setup() + systemTests.setup() // https://github.com/cypress-io/cypress/issues/674 - e2e.it('fails', { + systemTests.it('fails', { spec: 'issue_674_spec.js', snapshot: true, expectedExitCode: 1, diff --git a/packages/server/test/e2e/issue_7217_spec.ts b/system-tests/test/issue_7217_spec.ts similarity index 79% rename from packages/server/test/e2e/issue_7217_spec.ts rename to system-tests/test/issue_7217_spec.ts index 75dcb2b6b2..4a9e0d4888 100644 --- a/packages/server/test/e2e/issue_7217_spec.ts +++ b/system-tests/test/issue_7217_spec.ts @@ -1,13 +1,13 @@ import path from 'path' -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' describe('e2e issue 7217', () => { - e2e.setup() + systemTests.setup() // this test ensures that the right error is reported if the // browser can't connect // https://github.com/cypress-io/cypress/issues/7217 - e2e.it('shows correct error if browser does not connect', { + systemTests.it('shows correct error if browser does not connect', { expectedExitCode: 1, spec: 'simple_passing_spec.js', processEnv: { diff --git a/packages/server/test/e2e/issue_7481.ts b/system-tests/test/issue_7481.ts similarity index 63% rename from packages/server/test/e2e/issue_7481.ts rename to system-tests/test/issue_7481.ts index 7d8fab7e0a..9a07820d51 100644 --- a/packages/server/test/e2e/issue_7481.ts +++ b/system-tests/test/issue_7481.ts @@ -1,15 +1,15 @@ -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' const PORT = 3333 describe('e2e issue 7481', () => { - e2e.setup({ + systemTests.setup({ servers: { port: PORT, }, }) - e2e.it('does not error loading authenticated url', { + systemTests.it('does not error loading authenticated url', { spec: 'simple_passing_spec.js', config: { baseUrl: `http://username:password@localhost:${PORT}/`, diff --git a/packages/server/test/e2e/issue_8111_spec.js b/system-tests/test/issue_8111_spec.js similarity index 65% rename from packages/server/test/e2e/issue_8111_spec.js rename to system-tests/test/issue_8111_spec.js index f775270ef9..83763451c8 100644 --- a/packages/server/test/e2e/issue_8111_spec.js +++ b/system-tests/test/issue_8111_spec.js @@ -1,10 +1,10 @@ -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') describe('e2e issue 8111 iframe input focus', function () { - e2e.setup() + systemTests.setup() - e2e.it('iframe input retains focus when browser is out of focus', { + systemTests.it('iframe input retains focus when browser is out of focus', { // this test is dependent on the browser being Chrome headed // and also having --auto-open-devtools-for-tabs plugins option // (which pulls focus from main browser window) diff --git a/packages/server/test/e2e/js_error_handling_spec.js b/system-tests/test/js_error_handling_spec.js similarity index 87% rename from packages/server/test/e2e/js_error_handling_spec.js rename to system-tests/test/js_error_handling_spec.js index 9a7f1b6d1f..1be10f85ac 100644 --- a/packages/server/test/e2e/js_error_handling_spec.js +++ b/system-tests/test/js_error_handling_spec.js @@ -1,6 +1,6 @@ const fs = require('fs') -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default const onServer = function (app) { app.get('/index.html', (req, res) => { @@ -35,7 +35,7 @@ const onServer = function (app) { } describe('e2e js error handling', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 1122, static: true, @@ -45,10 +45,13 @@ describe('e2e js error handling', () => { }], }) - e2e.it('fails', { + systemTests.it('fails', { spec: 'js_error_handling_failing_spec.js', snapshot: true, expectedExitCode: 5, + config: { + video: false, + }, onStdout (stdout) { // firefox has a stack line for the cross-origin error that other browsers don't return stdout diff --git a/packages/server/test/e2e/max_listeners_spec.ts b/system-tests/test/max_listeners_spec.ts similarity index 84% rename from packages/server/test/e2e/max_listeners_spec.ts rename to system-tests/test/max_listeners_spec.ts index 8cd1dcd9e3..ed1386ece0 100644 --- a/packages/server/test/e2e/max_listeners_spec.ts +++ b/system-tests/test/max_listeners_spec.ts @@ -2,16 +2,16 @@ import _ from 'lodash' import path from 'path' import fs from 'fs-extra' -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' const projectPath = Fixtures.projectPath('max-listeners') describe('max listeners warning spec', () => { - e2e.setup() + systemTests.setup() // @see https://github.com/cypress-io/cypress/issues/1305 - e2e.it('does not log MaxEventListeners error', { + systemTests.it('does not log MaxEventListeners error', { browser: 'electron', project: projectPath, spec: '*', diff --git a/packages/server/test/e2e/network_error_handling_spec.js b/system-tests/test/network_error_handling_spec.js similarity index 96% rename from packages/server/test/e2e/network_error_handling_spec.js rename to system-tests/test/network_error_handling_spec.js index d4f7c0d25f..99219f098d 100644 --- a/packages/server/test/e2e/network_error_handling_spec.js +++ b/system-tests/test/network_error_handling_spec.js @@ -8,10 +8,10 @@ const Promise = require('bluebird') const bodyParser = require('body-parser') const DebugProxy = require('@cypress/debugging-proxy') const launcher = require('@packages/launcher') -const chrome = require('../../lib/browsers/chrome') -const e2e = require('../support/helpers/e2e').default -const random = require('../../lib/util/random') -const Fixtures = require('../support/helpers/fixtures') +const chrome = require('@packages/server/lib/browsers/chrome') +const systemTests = require('../lib/system-tests').default +const random = require('@packages/server/lib/util/random') +const Fixtures = require('../lib/fixtures') let mitmProxy = require('http-mitm-proxy') const PORT = 13370 @@ -155,7 +155,7 @@ const controllers = { describe('e2e network error handling', function () { this.timeout(240000) - e2e.setup({ + systemTests.setup({ servers: [ { onServer (app) { @@ -366,7 +366,7 @@ describe('e2e network error handling', function () { }) it('baseurl check tries 5 times in run mode', function () { - return e2e.exec(this, { + return systemTests.exec(this, { config: { baseUrl: 'http://never-gonna-exist.invalid', }, @@ -376,7 +376,7 @@ describe('e2e network error handling', function () { }) it('tests run as expected', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'network_error_handling_spec.js', video: false, expectedExitCode: 2, @@ -469,7 +469,7 @@ describe('e2e network error handling', function () { process.env.HTTP_PROXY = `http://localhost:${PROXY_PORT}` process.env.NO_PROXY = '<-loopback>' // proxy everything including localhost - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'https_passthru_spec.js', snapshot: true, }) @@ -498,7 +498,7 @@ describe('e2e network error handling', function () { process.env.HTTP_PROXY = `http://localhost:${PROXY_PORT}` process.env.NO_PROXY = '<-loopback>,localhost:13373' // proxy everything except for the irrelevant test - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'https_passthru_spec.js', snapshot: true, config: { @@ -526,7 +526,7 @@ describe('e2e network error handling', function () { // https://github.com/cypress-io/cypress/issues/4298 context('does not delay a 304 Not Modified', () => { it('in normal network conditions', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'network_error_304_handling_spec.js', video: false, config: { @@ -546,7 +546,7 @@ describe('e2e network error handling', function () { process.env.HTTP_PROXY = `http://localhost:${PROXY_PORT}` process.env.NO_PROXY = '' }).then(() => { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'network_error_304_handling_spec.js', video: false, config: { @@ -578,7 +578,7 @@ describe('e2e network error handling', function () { process.env.HTTP_PROXY = `http://localhost:${PROXY_PORT}` process.env.NO_PROXY = '' - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'network_error_304_handling_spec.js', video: false, config: { diff --git a/packages/server/test/e2e/new_project_spec.js b/system-tests/test/new_project_spec.js similarity index 72% rename from packages/server/test/e2e/new_project_spec.js rename to system-tests/test/new_project_spec.js index 4d577f7eab..5a111b8b58 100644 --- a/packages/server/test/e2e/new_project_spec.js +++ b/system-tests/test/new_project_spec.js @@ -1,13 +1,13 @@ const path = require('path') -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default -const { fs } = require('../../lib/util/fs') +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default +const { fs } = require('@packages/server/lib/util/fs') const noScaffoldingPath = Fixtures.projectPath('no-scaffolding') const supportPath = path.join(noScaffoldingPath, 'cypress', 'support') describe('e2e new project', () => { - e2e.setup() + systemTests.setup() it('passes', function () { return fs @@ -15,7 +15,7 @@ describe('e2e new project', () => { .then(() => { throw new Error('support folder should not exist') }).catch(() => { - return e2e.exec(this, { + return systemTests.exec(this, { project: noScaffoldingPath, sanitizeScreenshotDimensions: true, snapshot: true, diff --git a/packages/server/test/e2e/no_superfluous_screenshots_spec.js b/system-tests/test/no_superfluous_screenshots_spec.js similarity index 72% rename from packages/server/test/e2e/no_superfluous_screenshots_spec.js rename to system-tests/test/no_superfluous_screenshots_spec.js index 8aa881b321..9f4618784e 100644 --- a/packages/server/test/e2e/no_superfluous_screenshots_spec.js +++ b/system-tests/test/no_superfluous_screenshots_spec.js @@ -1,15 +1,15 @@ -const { fs } = require('../../lib/util/fs') +const { fs } = require('@packages/server/lib/util/fs') const path = require('path') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const e2ePath = Fixtures.projectPath('e2e') // https://github.com/cypress-io/cypress/issues/9209 describe('no superfluous screenshots when afterEach() failed', () => { - e2e.setup() + systemTests.setup() - e2e.it('2 screenshots', { + systemTests.it('2 screenshots', { spec: 'no_superfluous_screenshots_spec.js', onRun (exec) { return exec(). diff --git a/packages/server/test/e2e/non_proxied_spec.ts b/system-tests/test/non_proxied_spec.ts similarity index 60% rename from packages/server/test/e2e/non_proxied_spec.ts rename to system-tests/test/non_proxied_spec.ts index 77f111496c..77cf25494f 100644 --- a/packages/server/test/e2e/non_proxied_spec.ts +++ b/system-tests/test/non_proxied_spec.ts @@ -1,10 +1,10 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e non-proxied spec', () => { - e2e.setup() + systemTests.setup() - e2e.it('passes', { + systemTests.it('passes', { spec: 'spec.js', config: { video: false, diff --git a/packages/server/test/e2e/non_root_read_only_fs_spec.ts b/system-tests/test/non_root_read_only_fs_spec.ts similarity index 82% rename from packages/server/test/e2e/non_root_read_only_fs_spec.ts rename to system-tests/test/non_root_read_only_fs_spec.ts index 379b3f4070..4c340c1277 100644 --- a/packages/server/test/e2e/non_root_read_only_fs_spec.ts +++ b/system-tests/test/non_root_read_only_fs_spec.ts @@ -1,10 +1,10 @@ import * as fs from 'fs' import * as path from 'path' -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e readonly fs', function () { - e2e.setup() + systemTests.setup() const projectPath = Fixtures.projectPath('read-only-project-root') @@ -30,7 +30,7 @@ describe('e2e readonly fs', function () { }) } - e2e.it('warns when unable to write to disk', { + systemTests.it('warns when unable to write to disk', { project: projectPath, expectedExitCode: 1, spec: 'spec.js', diff --git a/packages/server/test/e2e/only_spec.js b/system-tests/test/only_spec.js similarity index 52% rename from packages/server/test/e2e/only_spec.js rename to system-tests/test/only_spec.js index 8548a59e46..488d1a4ce7 100644 --- a/packages/server/test/e2e/only_spec.js +++ b/system-tests/test/only_spec.js @@ -1,10 +1,10 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e only spec', () => { - e2e.setup() + systemTests.setup() it('failing', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'only*.js', snapshot: true, }) diff --git a/packages/server/test/e2e/page_loading_spec.js b/system-tests/test/page_loading_spec.js similarity index 94% rename from packages/server/test/e2e/page_loading_spec.js rename to system-tests/test/page_loading_spec.js index 8b16fb79bd..9b76f2d99f 100644 --- a/packages/server/test/e2e/page_loading_spec.js +++ b/system-tests/test/page_loading_spec.js @@ -1,5 +1,5 @@ const bodyParser = require('body-parser') -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default let count = 0 @@ -62,7 +62,7 @@ const onServer = function (app) { } describe('e2e page_loading', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 1717, onServer, @@ -77,7 +77,7 @@ describe('e2e page_loading', () => { // additionally this creates an edge case where after __cypress.initial is // set we send an XHR which should not inject because its requested for JSON // but that another XHR which is requested for html should inject - e2e.it('passes', { + systemTests.it('passes', { spec: 'page_loading_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/plugin_run_events_spec.ts b/system-tests/test/plugin_run_events_spec.ts similarity index 67% rename from packages/server/test/e2e/plugin_run_events_spec.ts rename to system-tests/test/plugin_run_events_spec.ts index 54cf8aaade..148595bde8 100644 --- a/packages/server/test/e2e/plugin_run_events_spec.ts +++ b/system-tests/test/plugin_run_events_spec.ts @@ -1,10 +1,10 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e plugin run events', () => { - e2e.setup() + systemTests.setup() - e2e.it('sends events', { + systemTests.it('sends events', { browser: 'electron', project: Fixtures.projectPath('plugin-run-events'), spec: '*', @@ -14,14 +14,14 @@ describe('e2e plugin run events', () => { }, }) - e2e.it('handles video being deleted in after:spec', { + systemTests.it('handles video being deleted in after:spec', { browser: 'electron', project: Fixtures.projectPath('plugin-after-spec-deletes-video'), spec: '*', snapshot: true, }) - e2e.it('fails run if event handler throws', { + systemTests.it('fails run if event handler throws', { browser: 'electron', project: Fixtures.projectPath('plugin-run-event-throws'), spec: '*', diff --git a/packages/server/test/e2e/plugins_spec.js b/system-tests/test/plugins_spec.js similarity index 87% rename from packages/server/test/e2e/plugins_spec.js rename to system-tests/test/plugins_spec.js index cd81cfa510..211ee1b94f 100644 --- a/packages/server/test/e2e/plugins_spec.js +++ b/system-tests/test/plugins_spec.js @@ -1,18 +1,18 @@ const path = require('path') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const e2eProject = Fixtures.projectPath('e2e') describe('e2e plugins', function () { - e2e.setup() + systemTests.setup() // this tests verifies stdout manually instead of via snapshot because // there's a degree of randomness as to whether the error occurs before or // after the run output starts. the important thing is that the run is // failed and the right error is displayed - e2e.it('fails when there is an async error at the root', { + systemTests.it('fails when there is an async error at the root', { browser: 'chrome', spec: 'app_spec.js', project: Fixtures.projectPath('plugins-root-async-error'), @@ -26,7 +26,7 @@ describe('e2e plugins', function () { }) it('fails when there is an async error inside an event handler', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'app_spec.js', project: Fixtures.projectPath('plugins-async-error'), sanitizeScreenshotDimensions: true, @@ -39,7 +39,7 @@ describe('e2e plugins', function () { }) it('can modify config from plugins', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'app_spec.js', env: 'foo=foo,bar=bar', config: { pageLoadTimeout: 10000 }, @@ -50,14 +50,14 @@ describe('e2e plugins', function () { }) it('passes version correctly', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('plugin-config-version'), }) }) it('catches invalid viewportWidth returned from plugins', function () { // the test project returns config object with a bad value - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('plugin-returns-bad-config'), expectedExitCode: 1, snapshot: true, @@ -65,7 +65,7 @@ describe('e2e plugins', function () { }) it('catches invalid browsers list returned from plugins', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('plugin-returns-empty-browsers-list'), expectedExitCode: 1, snapshot: true, @@ -73,7 +73,7 @@ describe('e2e plugins', function () { }) it('catches invalid browser returned from plugins', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('plugin-returns-invalid-browser'), expectedExitCode: 1, snapshot: true, @@ -81,7 +81,7 @@ describe('e2e plugins', function () { }) it('can filter browsers from config', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('plugin-filter-browsers'), // the test project filters available browsers // and returns a list with JUST Electron browser @@ -96,7 +96,7 @@ describe('e2e plugins', function () { }) }) - e2e.it('works with user extensions', { + systemTests.it('works with user extensions', { browser: 'chrome', spec: 'app_spec.js', headed: true, @@ -108,7 +108,7 @@ describe('e2e plugins', function () { it('handles absolute path to pluginsFile', function () { const pluginsAbsolutePath = Fixtures.projectPath('plugins-absolute-path') - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'absolute_spec.js', config: { pluginsFile: path.join( @@ -125,7 +125,7 @@ describe('e2e plugins', function () { const pluginAfterScreenshot = Fixtures.projectPath('plugin-after-screenshot') it('calls after:screenshot for cy.screenshot() and failure screenshots', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'after_screenshot_spec.js', project: pluginAfterScreenshot, sanitizeScreenshotDimensions: true, @@ -136,7 +136,7 @@ describe('e2e plugins', function () { // https://github.com/cypress-io/cypress/issues/8079 it('does not report more screenshots than exist if user overwrites previous screenshot in afterScreenshot', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'after_screenshot_overwrite_spec.js', project: pluginAfterScreenshot, snapshot: true, @@ -144,7 +144,7 @@ describe('e2e plugins', function () { }) it('fails when invalid event is registered', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'app_spec.js', project: Fixtures.projectPath('plugin-validation-error'), sanitizeScreenshotDimensions: true, @@ -154,7 +154,7 @@ describe('e2e plugins', function () { }) it('fails when there is no function exported', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'app_spec.js', project: Fixtures.projectPath('plugin-empty'), sanitizeScreenshotDimensions: true, @@ -165,7 +165,7 @@ describe('e2e plugins', function () { describe('preprocessor', function () { it('passes with working preprocessor', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'app_spec.js', project: Fixtures.projectPath('working-preprocessor'), sanitizeScreenshotDimensions: true, @@ -174,14 +174,14 @@ describe('e2e plugins', function () { }) it('supports node builtins', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'node_builtins_spec.js', }) }) // https://github.com/cypress-io/cypress/issues/8361 it('supports .mjs files', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'mjs_spec.mjs', }) }) @@ -189,7 +189,7 @@ describe('e2e plugins', function () { describe('extra properties', function () { it('passes projectRoot and default configFile to plugins function', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'plugins_config_extras_spec.js', config: { env: { @@ -201,7 +201,7 @@ describe('e2e plugins', function () { }) it('passes custom configFile to plugins function', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'plugins_config_extras_spec.js', configFile: 'cypress-alt.json', config: { @@ -214,7 +214,7 @@ describe('e2e plugins', function () { }) it('passes false configFile to plugins function', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'plugins_config_extras_spec.js', configFile: 'false', config: { diff --git a/packages/server/test/e2e/promises_spec.js b/system-tests/test/promises_spec.js similarity index 51% rename from packages/server/test/e2e/promises_spec.js rename to system-tests/test/promises_spec.js index 5038c46822..a95e893819 100644 --- a/packages/server/test/e2e/promises_spec.js +++ b/system-tests/test/promises_spec.js @@ -1,9 +1,9 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e promises', () => { - e2e.setup() + systemTests.setup() - e2e.it('failing1', { + systemTests.it('failing1', { spec: 'promises_spec.js', snapshot: true, expectedExitCode: 2, diff --git a/packages/server/test/e2e/proxying_spec.ts b/system-tests/test/proxying_spec.ts similarity index 62% rename from packages/server/test/e2e/proxying_spec.ts rename to system-tests/test/proxying_spec.ts index ac71241f7c..3759d3858b 100644 --- a/packages/server/test/e2e/proxying_spec.ts +++ b/system-tests/test/proxying_spec.ts @@ -1,7 +1,7 @@ -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' describe('e2e proxying spec', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 7878, static: true, @@ -10,7 +10,7 @@ describe('e2e proxying spec', () => { }, }) - e2e.it('integrity check', { + systemTests.it('integrity check', { spec: 'proxying_spec.js', }) }) diff --git a/packages/server/test/e2e/record_spec.js b/system-tests/test/record_spec.js similarity index 95% rename from packages/server/test/e2e/record_spec.js rename to system-tests/test/record_spec.js index c46b2b5586..2f37cfd286 100644 --- a/packages/server/test/e2e/record_spec.js +++ b/system-tests/test/record_spec.js @@ -2,10 +2,9 @@ const _ = require('lodash') const path = require('path') const Promise = require('bluebird') const jsonSchemas = require('@cypress/json-schemas').api -const snapshot = require('snap-shot-it') -const e2e = require('../support/helpers/e2e').default -const { fs } = require('../../lib/util/fs') -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const { fs } = require('@packages/server/lib/util/fs') +const Fixtures = require('../lib/fixtures') const { createRoutes, setupStubbedServer, @@ -14,8 +13,8 @@ const { postRunResponseWithWarnings, postRunInstanceResponse, postInstanceTestsResponse, -} = require('../support/helpers/serverStub') -const { expectRunsToHaveCorrectTimings } = require('../support/helpers/resultsUtils') +} = require('../lib/serverStub') +const { expectRunsToHaveCorrectTimings } = require('../lib/resultsUtils') const e2ePath = Fixtures.projectPath('e2e') const outputPath = path.join(e2ePath, 'output.json') @@ -34,7 +33,7 @@ describe('e2e record', () => { setupStubbedServer(createRoutes()) it('passes', async function () { - const { stdout } = await e2e.exec(this, { + const { stdout } = await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record*', record: true, @@ -221,9 +220,9 @@ describe('e2e record', () => { expectRunsToHaveCorrectTimings(runs) - runs = e2e.normalizeRuns(runs) + runs = systemTests.normalizeRuns(runs) - snapshot(runs) + systemTests.snapshot(runs) const results = await fs.readJsonAsync(outputPath) @@ -347,7 +346,7 @@ describe('e2e record', () => { this.retries(3) return Promise.all([ - e2e.exec(this, { + systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record*', group: 'prod-e2e', @@ -368,7 +367,7 @@ describe('e2e record', () => { Promise .delay(3000) .then(() => { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record*', group: 'prod-e2e', @@ -391,7 +390,7 @@ describe('e2e record', () => { setupStubbedServer(createRoutes()) it('sends Studio usage metadata', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'studio_written.spec.js', record: true, @@ -412,7 +411,7 @@ describe('e2e record', () => { setupStubbedServer([]) it('errors and exits when no specs found', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'notfound/**', snapshot: true, expectedExitCode: 1, @@ -423,7 +422,7 @@ describe('e2e record', () => { }) it('errors and exits when no browser found', function () { - return e2e.exec(this, { + return systemTests.exec(this, { browser: 'browserDoesNotExist', spec: 'record_pass*', snapshot: true, @@ -440,7 +439,7 @@ describe('e2e record', () => { // https://github.com/cypress-io/cypress/issues/15512 it('succeeds when empty spec file', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', record: true, spec: 'empty_suite.spec.js,empty.spec.js', @@ -466,10 +465,10 @@ describe('e2e record', () => { }) context('projectId', () => { - e2e.setup() + systemTests.setup() it('errors and exits without projectId', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -483,7 +482,7 @@ describe('e2e record', () => { setupStubbedServer(createRoutes()) it('respects quiet mode', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -498,7 +497,7 @@ describe('e2e record', () => { setupStubbedServer(createRoutes()) it('errors and exits without recordKey', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'record_pass*', record: true, snapshot: true, @@ -514,9 +513,9 @@ describe('e2e record', () => { process.env.CIRCLE_PR_NUMBER = '123' process.env.CIRCLE_PR_USERNAME = 'brian-mann' process.env.CIRCLE_PR_REPONAME = 'cypress' - process.env.CYPRESS_INTERNAL_E2E_TESTS = '0' + process.env.CYPRESS_INTERNAL_SYSTEM_TESTS = '0' - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'record_pass*', record: true, snapshot: true, @@ -534,9 +533,9 @@ describe('e2e record', () => { process.env.CIRCLE_PR_NUMBER = '123' process.env.CIRCLE_PR_USERNAME = 'brian-mann' process.env.CIRCLE_PR_REPONAME = 'cypress' - process.env.CYPRESS_INTERNAL_E2E_TESTS = '0' + process.env.CYPRESS_INTERNAL_SYSTEM_TESTS = '0' - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'record_pass*', record: true, parallel: true, @@ -555,7 +554,7 @@ describe('e2e record', () => { }) it('config from runtime, testOptions', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'config_record_spec*', record: true, @@ -610,7 +609,7 @@ describe('e2e record', () => { }), { video: false }) it('changes spec run order', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'a_record.spec.js,b_record.spec.js', record: true, @@ -650,7 +649,7 @@ describe('e2e record', () => { }), { video: false }) it('records tests and exits without executing', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'a_record_instantfail.spec.js,b_record.spec.js', record: true, @@ -677,7 +676,7 @@ describe('e2e record', () => { }) it('records tests and exits without executing in parallel', async function () { - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'a_record_instantfail.spec.js,b_record.spec.js', record: true, @@ -707,7 +706,7 @@ describe('e2e record', () => { }) it('does not upload when not enabled', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -729,7 +728,7 @@ describe('e2e record', () => { setupStubbedServer(routes) it('errors and exits on 401', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -751,7 +750,7 @@ describe('e2e record', () => { setupStubbedServer(routes) it('errors and exits', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -775,7 +774,7 @@ describe('e2e record', () => { it('errors and exits', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -794,7 +793,7 @@ describe('e2e record', () => { it('when grouping without parallelization errors and exits', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'foo', @@ -815,7 +814,7 @@ describe('e2e record', () => { it('does not proceed and exits with error when parallelizing', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'foo', @@ -850,7 +849,7 @@ describe('e2e record', () => { it('does not proceed and exits with error when parallelizing and creating instance', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'foo', @@ -874,7 +873,7 @@ describe('e2e record', () => { it('without parallelization - does not proceed', async function () { process.env.DISABLE_API_RETRIES = 'true' - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: '*_record.spec.js', record: true, @@ -917,7 +916,7 @@ describe('e2e record', () => { it('does not proceed and exits with error when parallelizing and updating instance', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'foo', @@ -960,7 +959,7 @@ describe('e2e record', () => { it('errors and exits when group name is in use', function () { process.env.CIRCLECI = '1' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'e2e-tests', @@ -991,7 +990,7 @@ describe('e2e record', () => { })) it('errors and exits when there is an unknown 422 response', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'e2e-tests', @@ -1029,7 +1028,7 @@ describe('e2e record', () => { })) it('errors and exits when on free plan and over recorded runs limit', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1056,7 +1055,7 @@ describe('e2e record', () => { })) it('errors and exits when on free plan and over recorded tests limit', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1080,7 +1079,7 @@ describe('e2e record', () => { } })) it('errors and exits when attempting parallel run when not available in plan', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1103,7 +1102,7 @@ describe('e2e record', () => { } })) it('errors and exits when attempting parallel run when not available in plan', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1123,7 +1122,7 @@ describe('e2e record', () => { } })) it('errors and exits when there\'s an unknown 402 error', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1145,7 +1144,7 @@ describe('e2e record', () => { it('errors and exits on createInstance error', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: '*_record_*', record: true, @@ -1175,7 +1174,7 @@ describe('e2e record', () => { // it('without parallelization continues, does not post instance results', async function () { // process.env.DISABLE_API_RETRIES = 'true' - // return e2e.exec(this, { + // return systemTests.exec(this, { // key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', // spec: '*_record.spec*', // record: true, @@ -1197,7 +1196,7 @@ describe('e2e record', () => { it('without parallelization errors and exits', async function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: '*_record.spec*', group: 'foo', @@ -1220,7 +1219,7 @@ describe('e2e record', () => { it('with parallelization errors and exits', async function () { process.env.DISABLE_API_RETRIES = 'true' - await e2e.exec(this, { + await systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: '*_record.spec.js', record: true, @@ -1256,7 +1255,7 @@ describe('e2e record', () => { it('errors and exits in serial', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1290,7 +1289,7 @@ describe('e2e record', () => { it('warns but proceeds', function () { process.env.DISABLE_API_RETRIES = 'true' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1335,7 +1334,7 @@ describe('e2e record', () => { }) it('warns but proceeds', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1407,7 +1406,7 @@ describe('e2e record', () => { it('warns and does not create or update instances', function () { process.env.API_RETRY_INTERVALS = '1000,2000,3000' - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', group: 'foo', @@ -1467,7 +1466,7 @@ describe('e2e record', () => { })) it('warns when over private test results', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1502,7 +1501,7 @@ describe('e2e record', () => { })) it('warns when over test results', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1536,7 +1535,7 @@ describe('e2e record', () => { })) it('warns when using parallel feature', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1570,7 +1569,7 @@ describe('e2e record', () => { })) it('warns when using parallel feature', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1605,7 +1604,7 @@ describe('e2e record', () => { })) it('warns when over private test results', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1640,7 +1639,7 @@ describe('e2e record', () => { })) it('warns when over test results', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1675,7 +1674,7 @@ describe('e2e record', () => { })) it('warns when over test results', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, @@ -1695,7 +1694,7 @@ describe('e2e record', () => { })) it('warns with unknown warning code', function () { - return e2e.exec(this, { + return systemTests.exec(this, { key: 'f858a2bc-b469-4e48-be67-0876339ee7e1', spec: 'record_pass*', record: true, diff --git a/packages/server/test/e2e/reporters_spec.js b/system-tests/test/reporters_spec.js similarity index 89% rename from packages/server/test/e2e/reporters_spec.js rename to system-tests/test/reporters_spec.js index d4f08c1554..eb0b65b943 100644 --- a/packages/server/test/e2e/reporters_spec.js +++ b/system-tests/test/reporters_spec.js @@ -1,8 +1,8 @@ const path = require('path') -const { fs } = require('../../lib/util/fs') -const glob = require('../../lib/util/glob') -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const { fs } = require('@packages/server/lib/util/fs') +const glob = require('@packages/server/lib/util/glob') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const e2ePath = Fixtures.projectPath('e2e') @@ -13,10 +13,10 @@ const mochaAwesomes = [ ] describe('e2e reporters', () => { - e2e.setup() + systemTests.setup() it('reports error if cannot load reporter', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', snapshot: true, expectedExitCode: 1, @@ -26,7 +26,7 @@ describe('e2e reporters', () => { // https://github.com/cypress-io/cypress/issues/1192 it('reports error when thrown from reporter', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', snapshot: true, expectedExitCode: 1, @@ -35,7 +35,7 @@ describe('e2e reporters', () => { }) it('supports junit reporter and reporter options', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', snapshot: true, reporter: 'junit', @@ -58,7 +58,7 @@ describe('e2e reporters', () => { }) it('supports local custom reporter', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', snapshot: true, reporter: 'reporters/custom.js', @@ -66,7 +66,7 @@ describe('e2e reporters', () => { }) it('sends file to reporter', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', reporter: 'reporters/uses-file.js', }) @@ -79,7 +79,7 @@ describe('e2e reporters', () => { describe('mochawesome', () => { return mochaAwesomes.forEach((ma) => { it(`passes with ${ma} npm custom reporter`, function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', snapshot: true, // cypress supports passing module name, relative path, or absolute path @@ -105,7 +105,7 @@ describe('e2e reporters', () => { }) it(`fails with ${ma} npm custom reporter`, function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_failing_hook_spec.js', snapshot: true, expectedExitCode: 3, @@ -138,7 +138,7 @@ describe('e2e reporters', () => { }) it('supports teamcity reporter and reporter options', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'simple_passing_spec.js', snapshot: true, reporter: 'teamcity', diff --git a/packages/server/test/e2e/request_spec.ts b/system-tests/test/request_spec.ts similarity index 95% rename from packages/server/test/e2e/request_spec.ts rename to system-tests/test/request_spec.ts index f2bfc83dd4..b42c6cdd2d 100644 --- a/packages/server/test/e2e/request_spec.ts +++ b/system-tests/test/request_spec.ts @@ -1,6 +1,6 @@ import bodyParser from 'body-parser' import cookieParser from 'cookie-parser' -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' let counts = null @@ -136,7 +136,7 @@ const onServer = function (app) { } describe('e2e requests', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 2290, onServer, @@ -167,7 +167,7 @@ describe('e2e requests', () => { } }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'request_spec.js', snapshot: true, config: { @@ -176,7 +176,7 @@ describe('e2e requests', () => { }) it('fails when network immediately fails', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'request_http_network_error_failing_spec.js', snapshot: true, expectedExitCode: 1, @@ -184,7 +184,7 @@ describe('e2e requests', () => { }) it('fails on status code', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'request_status_code_failing_spec.js', snapshot: true, expectedExitCode: 1, @@ -198,7 +198,7 @@ describe('e2e requests', () => { }) it('prints long http props on fail', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'request_long_http_props_failing_spec.js', snapshot: true, expectedExitCode: 1, diff --git a/packages/server/test/e2e/retries_spec.ts b/system-tests/test/retries_spec.ts similarity index 78% rename from packages/server/test/e2e/retries_spec.ts rename to system-tests/test/retries_spec.ts index 0da48081c8..6fdad2337d 100644 --- a/packages/server/test/e2e/retries_spec.ts +++ b/system-tests/test/retries_spec.ts @@ -1,10 +1,10 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' -const it = e2e.it +const it = systemTests.it describe('retries', () => { - e2e.setup() + systemTests.setup() it('supports retries', { project: Fixtures.projectPath('retries-2'), diff --git a/packages/server/test/e2e/return_value_spec.js b/system-tests/test/return_value_spec.js similarity index 59% rename from packages/server/test/e2e/return_value_spec.js rename to system-tests/test/return_value_spec.js index da4099d79c..9dbbd4b963 100644 --- a/packages/server/test/e2e/return_value_spec.js +++ b/system-tests/test/return_value_spec.js @@ -1,10 +1,10 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e return value', () => { - e2e.setup() + systemTests.setup() it('failing1', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'return_value_spec.js', snapshot: true, expectedExitCode: 3, diff --git a/packages/server/test/e2e/run_ct_spec.js b/system-tests/test/run_ct_spec.js similarity index 51% rename from packages/server/test/e2e/run_ct_spec.js rename to system-tests/test/run_ct_spec.js index 2248a1fab8..cbc507a3f8 100644 --- a/packages/server/test/e2e/run_ct_spec.js +++ b/system-tests/test/run_ct_spec.js @@ -1,9 +1,9 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('run-ct', () => { - e2e.setup() + systemTests.setup() - e2e.it('reports correct exit code when failing', { + systemTests.it('reports correct exit code when failing', { spec: 'simple_failing_spec.js', testingType: 'component', snapshot: false, diff --git a/packages/server/test/e2e/runnable_execution_spec.ts b/system-tests/test/runnable_execution_spec.ts similarity index 70% rename from packages/server/test/e2e/runnable_execution_spec.ts rename to system-tests/test/runnable_execution_spec.ts index 00e5439f3c..421f542ac0 100644 --- a/packages/server/test/e2e/runnable_execution_spec.ts +++ b/system-tests/test/runnable_execution_spec.ts @@ -1,8 +1,8 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e runnable execution', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 3434, static: true, @@ -20,20 +20,20 @@ describe('e2e runnable execution', () => { // navigation in before and in test body doesn't cause infinite loop // but throws correct error // https://github.com/cypress-io/cypress/issues/1987 - e2e.it('cannot navigate in before hook and test', { + systemTests.it('cannot navigate in before hook and test', { project: Fixtures.projectPath('hooks-after-rerun'), spec: 'beforehook-and-test-navigation.js', snapshot: true, expectedExitCode: 2, }) - e2e.it('runnables run correct number of times with navigation', { + systemTests.it('runnables run correct number of times with navigation', { project: Fixtures.projectPath('hooks-after-rerun'), spec: 'runnable-run-count.spec.js', snapshot: true, }) - e2e.it('runs correctly after top navigation with already ran suite', { + systemTests.it('runs correctly after top navigation with already ran suite', { spec: 'runnables_already_run_suite.js', snapshot: true, expectedExitCode: 1, diff --git a/packages/server/test/e2e/screenshot_element_capture_spec.js b/system-tests/test/screenshot_element_capture_spec.js similarity index 77% rename from packages/server/test/e2e/screenshot_element_capture_spec.js rename to system-tests/test/screenshot_element_capture_spec.js index a6ac4a6499..494f0c8729 100644 --- a/packages/server/test/e2e/screenshot_element_capture_spec.js +++ b/system-tests/test/screenshot_element_capture_spec.js @@ -1,7 +1,7 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = (app) => { - return app.get('/element', e2e.sendHtml(`\ + return app.get('/element', systemTests.sendHtml(`\
@@ -10,7 +10,7 @@ const onServer = (app) => { } describe('e2e screenshot element capture', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 3322, onServer, @@ -19,7 +19,7 @@ describe('e2e screenshot element capture', () => { // this tests that consistent screenshots are taken for element captures, // that the runner UI is hidden and that the page is scrolled properly - e2e.it('passes', { + systemTests.it('passes', { spec: 'screenshot_element_capture_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/screenshot_fullpage_capture_spec.js b/system-tests/test/screenshot_fullpage_capture_spec.js similarity index 82% rename from packages/server/test/e2e/screenshot_fullpage_capture_spec.js rename to system-tests/test/screenshot_fullpage_capture_spec.js index d3dbf0e770..8f92bb536f 100644 --- a/packages/server/test/e2e/screenshot_fullpage_capture_spec.js +++ b/system-tests/test/screenshot_fullpage_capture_spec.js @@ -1,7 +1,7 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = (app) => { - return app.get('/fullPage', e2e.sendHtml(`\ + return app.get('/fullPage', systemTests.sendHtml(`\
@@ -12,7 +12,7 @@ const onServer = (app) => { } describe('e2e screenshot fullPage capture', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 3322, onServer, @@ -21,7 +21,7 @@ describe('e2e screenshot fullPage capture', () => { // this tests that consistent screenshots are taken for fullPage captures, // that the runner UI is hidden and that the page is scrolled properly - e2e.it('passes', { + systemTests.it('passes', { spec: 'screenshot_fullpage_capture_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/screenshot_nested_file_spec.js b/system-tests/test/screenshot_nested_file_spec.js similarity index 56% rename from packages/server/test/e2e/screenshot_nested_file_spec.js rename to system-tests/test/screenshot_nested_file_spec.js index 2a3a8cf9c8..5a5d5a53e8 100644 --- a/packages/server/test/e2e/screenshot_nested_file_spec.js +++ b/system-tests/test/screenshot_nested_file_spec.js @@ -1,9 +1,9 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e screenshot in nested spec', () => { - e2e.setup() + systemTests.setup() - e2e.it('passes', { + systemTests.it('passes', { spec: 'nested-1/nested-2/screenshot_nested_file_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/screenshot_viewport_capture_spec.js b/system-tests/test/screenshot_viewport_capture_spec.js similarity index 77% rename from packages/server/test/e2e/screenshot_viewport_capture_spec.js rename to system-tests/test/screenshot_viewport_capture_spec.js index 3ec5045c71..4e77f75529 100644 --- a/packages/server/test/e2e/screenshot_viewport_capture_spec.js +++ b/system-tests/test/screenshot_viewport_capture_spec.js @@ -1,14 +1,14 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = (app) => { - return app.get('/viewport', e2e.sendHtml(`\ + return app.get('/viewport', systemTests.sendHtml(`\
\ `)) } describe('e2e screenshot viewport capture', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 3322, onServer, @@ -17,7 +17,7 @@ describe('e2e screenshot viewport capture', () => { // this tests that consistent screenshots are taken for app // captures (namely that the runner UI is hidden) - e2e.it('passes', { + systemTests.it('passes', { spec: 'screenshot_viewport_capture_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/screenshots_spec.js b/system-tests/test/screenshots_spec.js similarity index 88% rename from packages/server/test/e2e/screenshots_spec.js rename to system-tests/test/screenshots_spec.js index be612fa643..ccec353c16 100644 --- a/packages/server/test/e2e/screenshots_spec.js +++ b/system-tests/test/screenshots_spec.js @@ -1,10 +1,10 @@ const _ = require('lodash') const path = require('path') const Promise = require('bluebird') -const Fixtures = require('../support/helpers/fixtures') -const e2e = require('../support/helpers/e2e').default +const Fixtures = require('../lib/fixtures') +const systemTests = require('../lib/system-tests').default let sizeOf = require('image-size') -const { fs } = require('../../lib/util/fs') +const { fs } = require('@packages/server/lib/util/fs') sizeOf = Promise.promisify(sizeOf) @@ -12,28 +12,28 @@ const e2ePath = Fixtures.projectPath('e2e') const onServer = function (app) { app.get('/color/:color', (req, res) => { - return e2e.sendHtml(`\ + return systemTests.sendHtml(`\
`)(req, res) }) - app.get('/fullPage', e2e.sendHtml(`\ + app.get('/fullPage', systemTests.sendHtml(`\
\ `)) - app.get('/fullPage-same', e2e.sendHtml(`\ + app.get('/fullPage-same', systemTests.sendHtml(`\
\ `)) - app.get('/element', e2e.sendHtml(`\ + app.get('/element', systemTests.sendHtml(`\
\ `)) - app.get('/pathological', e2e.sendHtml(`\ + app.get('/pathological', systemTests.sendHtml(`\
@@ -43,14 +43,14 @@ const onServer = function (app) {
\ `)) - return app.get('/identical', e2e.sendHtml(`\ + return app.get('/identical', systemTests.sendHtml(`\
\ `)) } describe('e2e screenshots', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 3322, onServer, @@ -60,12 +60,12 @@ describe('e2e screenshots', () => { // this tests that screenshots can be manually generated // and are also generated automatically on failure with // the test title as the file name - e2e.it('passes', { + systemTests.it('passes', { spec: 'screenshots_spec.js', expectedExitCode: 5, snapshot: true, timeout: 180000, - onStdout: e2e.normalizeWebpackErrors, + onStdout: systemTests.normalizeWebpackErrors, onRun (exec, browser) { return exec() .then(() => { diff --git a/packages/server/test/e2e/server_sent_events_spec.js b/system-tests/test/server_sent_events_spec.js similarity index 91% rename from packages/server/test/e2e/server_sent_events_spec.js rename to system-tests/test/server_sent_events_spec.js index a99280d291..75fa029841 100644 --- a/packages/server/test/e2e/server_sent_events_spec.js +++ b/system-tests/test/server_sent_events_spec.js @@ -1,5 +1,5 @@ const SseStream = require('ssestream') -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default let clients = 0 @@ -51,7 +51,7 @@ const onSSEServer = (app) => { const onSSEsServer = function (app) {} describe('e2e server sent events', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 3038, static: true, @@ -66,7 +66,7 @@ describe('e2e server sent events', () => { }) // https://github.com/cypress-io/cypress/issues/1440 - e2e.it('passes', { + systemTests.it('passes', { spec: 'server_sent_events_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/session_spec.ts b/system-tests/test/session_spec.ts similarity index 97% rename from packages/server/test/e2e/session_spec.ts rename to system-tests/test/session_spec.ts index 38c852e718..6686cc62d7 100644 --- a/packages/server/test/e2e/session_spec.ts +++ b/system-tests/test/session_spec.ts @@ -1,8 +1,8 @@ -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' import parser from 'cookie-parser' import BodyParser from 'body-parser' -const it = e2e.it +const it = systemTests.it const onServer = function (app) { app.use(parser()) @@ -108,7 +108,7 @@ const onServer = function (app) { } describe('e2e sessions', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 4466, https: true, diff --git a/packages/server/test/e2e/spec_isolation_spec.js b/system-tests/test/spec_isolation_spec.js similarity index 75% rename from packages/server/test/e2e/spec_isolation_spec.js rename to system-tests/test/spec_isolation_spec.js index 1adbf2ada0..f99dc64a5a 100644 --- a/packages/server/test/e2e/spec_isolation_spec.js +++ b/system-tests/test/spec_isolation_spec.js @@ -2,13 +2,12 @@ const path = require('path') const _ = require('lodash') -const snapshot = require('snap-shot-it') -const { fs } = require('../../lib/util/fs') -const { default: e2e, STDOUT_DURATION_IN_TABLES_RE } = require('../support/helpers/e2e') -const Fixtures = require('../support/helpers/fixtures') -const { expectCorrectModuleApiResult } = require('../support/helpers/resultsUtils') +const { fs } = require('@packages/server/lib/util/fs') +const { default: systemTests, STDOUT_DURATION_IN_TABLES_RE } = require('../lib/system-tests') +const Fixtures = require('../lib/fixtures') +const { expectCorrectModuleApiResult } = require('../lib/resultsUtils') const e2ePath = Fixtures.projectPath('e2e') -const { it } = e2e +const { it } = systemTests const outputPath = path.join(e2ePath, 'output.json') @@ -20,7 +19,7 @@ const specs = [ ].join(',') describe('e2e spec_isolation', () => { - e2e.setup() + systemTests.setup() it('fails', { spec: specs, @@ -41,14 +40,14 @@ describe('e2e spec_isolation', () => { // and snapshot it so its what we expect after normalizing it let json = await fs.readJsonAsync(outputPath) - json.runs = e2e.normalizeRuns(json.runs) + json.runs = systemTests.normalizeRuns(json.runs) // also mutates into normalized obj ready for snapshot expectCorrectModuleApiResult(json, { e2ePath, runs: 4, video: false, }) - snapshot(json, { allowSharedSnapshot: true }) + systemTests.snapshot(json, { allowSharedSnapshot: true }) }, }) @@ -65,14 +64,14 @@ describe('e2e spec_isolation', () => { await execFn() let json = await fs.readJsonAsync(outputPath) - json.runs = e2e.normalizeRuns(json.runs) + json.runs = systemTests.normalizeRuns(json.runs) // also mutates into normalized obj ready for snapshot expectCorrectModuleApiResult(json, { e2ePath, runs: 2, video: false, }) - snapshot(json) + systemTests.snapshot(json) }, }) }) diff --git a/packages/server/test/e2e/specs_spec.js b/system-tests/test/specs_spec.js similarity index 76% rename from packages/server/test/e2e/specs_spec.js rename to system-tests/test/specs_spec.js index f9ae31e120..13c0ed0da5 100644 --- a/packages/server/test/e2e/specs_spec.js +++ b/system-tests/test/specs_spec.js @@ -1,11 +1,11 @@ -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') describe('e2e specs', () => { - e2e.setup() + systemTests.setup() it('failing when no specs found', function () { - return e2e.exec(this, { + return systemTests.exec(this, { config: { integrationFolder: 'cypress/specs' }, snapshot: true, expectedExitCode: 1, @@ -13,7 +13,7 @@ describe('e2e specs', () => { }) it('failing when no spec pattern found', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'cypress/integration/**notfound**', snapshot: true, expectedExitCode: 1, @@ -24,7 +24,7 @@ describe('e2e specs', () => { it('handles the same integration and fixtures folders', function () { const project = Fixtures.projectPath('same-fixtures-integration-folders') - return e2e.exec(this, { + return systemTests.exec(this, { project, snapshot: false, expectedExitCode: 0, @@ -34,7 +34,7 @@ describe('e2e specs', () => { it('handles the fixtures folder being the subfolder of integration', function () { const project = Fixtures.projectPath('fixture-subfolder-of-integration') - return e2e.exec(this, { + return systemTests.exec(this, { project, snapshot: false, expectedExitCode: 0, diff --git a/packages/server/test/e2e/stdout_spec.js b/system-tests/test/stdout_spec.js similarity index 78% rename from packages/server/test/e2e/stdout_spec.js rename to system-tests/test/stdout_spec.js index a1c84963cb..90e5c7a55a 100644 --- a/packages/server/test/e2e/stdout_spec.js +++ b/system-tests/test/stdout_spec.js @@ -1,7 +1,7 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e stdout', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 1777, https: true, @@ -21,7 +21,7 @@ describe('e2e stdout', () => { }) it('displays errors from failures', function () { - return e2e.exec(this, { + return systemTests.exec(this, { port: 2020, snapshot: true, spec: 'stdout_failing_spec.js', @@ -30,16 +30,16 @@ describe('e2e stdout', () => { }) it('displays errors from exiting early due to bundle errors', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'stdout_exit_early_failing_spec.js', snapshot: true, expectedExitCode: 1, - onStdout: e2e.normalizeWebpackErrors, + onStdout: systemTests.normalizeWebpackErrors, }) }) it('does not duplicate suites or tests between visits', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'stdout_passing_spec.js', timeout: 120000, snapshot: true, @@ -47,7 +47,7 @@ describe('e2e stdout', () => { }) it('respects quiet mode', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'stdout_passing_spec.js', timeout: 120000, snapshot: true, @@ -56,14 +56,14 @@ describe('e2e stdout', () => { }) it('displays fullname of nested specfile', function () { - return e2e.exec(this, { + return systemTests.exec(this, { port: 2020, snapshot: true, spec: 'nested-1/nested-2/nested-3/*', }) }) - e2e.it('displays assertion errors', { + systemTests.it('displays assertion errors', { spec: 'stdout_assertion_errors_spec.js', snapshot: true, expectedExitCode: 4, diff --git a/packages/server/test/e2e/studio_spec.ts b/system-tests/test/studio_spec.ts similarity index 74% rename from packages/server/test/e2e/studio_spec.ts rename to system-tests/test/studio_spec.ts index 33358e073a..44c63128e5 100644 --- a/packages/server/test/e2e/studio_spec.ts +++ b/system-tests/test/studio_spec.ts @@ -1,27 +1,25 @@ import path from 'path' -import snapshot from 'snap-shot-it' - -import { root } from '../spec_helper' -import e2e from '../support/helpers/e2e' -import { projectPath } from '../support/helpers/fixtures' - -const { fs } = require(`${root}/lib/util/fs`) +import systemTests from '../lib/system-tests' +import { projectPath } from '../lib/fixtures' +import { promises as fs } from 'fs' const snapshotFile = (project, file, folder = 'integration') => { const filePath = path.join(projectPath(project), 'cypress', folder, file) return fs.readFile(filePath).then((content) => { - snapshot(`${project} ${file}`, content.toString()) + systemTests.snapshot(`${project} ${file}`, content.toString()) }) } // NOTE: all output snapshots will display the root spec suite twice // this is intentional and indicates how the studio "restarts" the runner -describe('e2e studio', function () { - e2e.setup() +// TODO: fix these after system tests PR +// @see https://github.com/cypress-io/cypress/issues/18498 +describe.skip('e2e studio', function () { + systemTests.setup() - e2e.it('extends test', { + systemTests.it('extends test', { project: projectPath('studio'), spec: 'extend.spec.js', snapshot: true, @@ -33,7 +31,7 @@ describe('e2e studio', function () { // includes "New Test" in snapshot // this is the blank new test that's being created - e2e.it('creates new test', { + systemTests.it('creates new test', { project: projectPath('studio'), spec: 'new.spec.js', browser: 'electron', @@ -43,7 +41,7 @@ describe('e2e studio', function () { }, }) - e2e.it('can write to imported files', { + systemTests.it('can write to imported files', { project: projectPath('studio'), spec: 'external.spec.js', snapshot: true, @@ -56,7 +54,7 @@ describe('e2e studio', function () { }, }) - e2e.it('extends test without source maps', { + systemTests.it('extends test without source maps', { project: projectPath('studio-no-source-maps'), spec: 'extend.spec.js', snapshot: true, @@ -66,7 +64,7 @@ describe('e2e studio', function () { }, }) - e2e.it('creates new test without source maps', { + systemTests.it('creates new test without source maps', { project: projectPath('studio-no-source-maps'), spec: 'new.spec.js', browser: 'electron', diff --git a/packages/server/test/e2e/subdomain_spec.ts b/system-tests/test/subdomain_spec.ts similarity index 96% rename from packages/server/test/e2e/subdomain_spec.ts rename to system-tests/test/subdomain_spec.ts index 0cc7e3930d..34588ddbf4 100644 --- a/packages/server/test/e2e/subdomain_spec.ts +++ b/system-tests/test/subdomain_spec.ts @@ -1,7 +1,7 @@ import cors from 'cors' import parser from 'cookie-parser' import session from 'express-session' -import e2e from '../support/helpers/e2e' +import systemTests from '../lib/system-tests' const onServer = function (app) { app.use(parser()) @@ -111,14 +111,14 @@ const onServer = function (app) { } describe('e2e subdomain', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 2292, onServer, }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'subdomain_spec.js', snapshot: true, config: { diff --git a/packages/server/test/e2e/system_node_spec.js b/system-tests/test/system_node_spec.js similarity index 85% rename from packages/server/test/e2e/system_node_spec.js rename to system-tests/test/system_node_spec.js index 3a0486c354..5408887766 100644 --- a/packages/server/test/e2e/system_node_spec.js +++ b/system-tests/test/system_node_spec.js @@ -1,12 +1,12 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const execa = require('execa') -const Fixtures = require('../support/helpers/fixtures') +const Fixtures = require('../lib/fixtures') const Promise = require('bluebird') const systemNode = Fixtures.projectPath('system-node') describe('e2e system node', () => { - e2e.setup() + systemTests.setup() it('uses system node when launching plugins file', function () { return Promise.join( @@ -15,7 +15,7 @@ describe('e2e system node', () => { (expectedNodeVersion, expectedNodePath) => { expectedNodeVersion = expectedNodeVersion.slice(1) // v1.2.3 -> 1.2.3 - return e2e.exec(this, { + return systemTests.exec(this, { project: systemNode, config: { env: { diff --git a/packages/server/test/e2e/task_not_registered_spec.js b/system-tests/test/task_not_registered_spec.js similarity index 62% rename from packages/server/test/e2e/task_not_registered_spec.js rename to system-tests/test/task_not_registered_spec.js index 203703d8e5..b8312c5e78 100644 --- a/packages/server/test/e2e/task_not_registered_spec.js +++ b/system-tests/test/task_not_registered_spec.js @@ -1,11 +1,11 @@ -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') describe('e2e task', () => { - e2e.setup() + systemTests.setup() it('fails', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('task-not-registered'), spec: 'task_not_registered_spec.js', sanitizeScreenshotDimensions: true, diff --git a/packages/server/test/e2e/task_spec.js b/system-tests/test/task_spec.js similarity index 78% rename from packages/server/test/e2e/task_spec.js rename to system-tests/test/task_spec.js index c5c6965bd9..2ff1d79ce0 100644 --- a/packages/server/test/e2e/task_spec.js +++ b/system-tests/test/task_spec.js @@ -1,11 +1,11 @@ -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') describe('e2e task', () => { - e2e.setup() + systemTests.setup() it('handles undefined return and includes stack trace in error', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'task_spec.js', snapshot: true, expectedExitCode: 2, @@ -21,7 +21,7 @@ describe('e2e task', () => { }) it('merges task events on subsequent registrations and logs warning for conflicts', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('multiple-task-registrations'), spec: 'multiple_task_registrations_spec.js', sanitizeScreenshotDimensions: true, diff --git a/packages/server/test/e2e/testConfigOverrides_spec.ts b/system-tests/test/testConfigOverrides_spec.ts similarity index 71% rename from packages/server/test/e2e/testConfigOverrides_spec.ts rename to system-tests/test/testConfigOverrides_spec.ts index f772d5ee12..f4a71b2260 100644 --- a/packages/server/test/e2e/testConfigOverrides_spec.ts +++ b/system-tests/test/testConfigOverrides_spec.ts @@ -1,23 +1,23 @@ import fs from 'fs-extra' import path from 'path' -import e2e, { expect } from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests, { expect } from '../lib/system-tests' +import Fixtures from '../lib/fixtures' const e2ePath = Fixtures.projectPath('e2e') const outputPath = path.join(e2ePath, 'output.json') describe('testConfigOverrides', () => { - e2e.setup() + systemTests.setup() - e2e.it('fails when passing invalid config value browser', { + systemTests.it('fails when passing invalid config value browser', { spec: 'testConfigOverrides-invalid-browser.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('has originalTitle when skip due to browser config', { + systemTests.it('has originalTitle when skip due to browser config', { spec: 'testConfigOverrides-skip-browser.js', snapshot: true, outputPath, diff --git a/packages/server/test/e2e/typescript_plugins_spec.ts b/system-tests/test/typescript_plugins_spec.ts similarity index 76% rename from packages/server/test/e2e/typescript_plugins_spec.ts rename to system-tests/test/typescript_plugins_spec.ts index 17db9bcd1e..f6aeeea3b6 100644 --- a/packages/server/test/e2e/typescript_plugins_spec.ts +++ b/system-tests/test/typescript_plugins_spec.ts @@ -1,32 +1,32 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e typescript in plugins file', function () { - e2e.setup() + systemTests.setup() it('handles tsconfig with module other than commonjs', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('ts-proj-with-module-esnext'), }) }) // https://github.com/cypress-io/cypress/issues/7575 it('defaults to esModuleInterop: false', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('ts-proj'), }) }) // https://github.com/cypress-io/cypress/issues/7575 it('allows esModuleInterop to be overridden with true via tsconfig.json', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('ts-proj-esmoduleinterop-true'), }) }) // https://github.com/cypress-io/cypress/issues/8359 it('loads tsconfig.json from plugins directory', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('ts-proj-tsconfig-in-plugins'), }) }) diff --git a/packages/server/test/e2e/typescript_spec_support_spec.ts b/system-tests/test/typescript_spec_support_spec.ts similarity index 72% rename from packages/server/test/e2e/typescript_spec_support_spec.ts rename to system-tests/test/typescript_spec_support_spec.ts index 8c85f5ff1a..00fc966a6c 100644 --- a/packages/server/test/e2e/typescript_spec_support_spec.ts +++ b/system-tests/test/typescript_spec_support_spec.ts @@ -1,29 +1,29 @@ -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' describe('e2e typescript in spec and support file', function () { - e2e.setup() + systemTests.setup() it('spec passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'typescript_passing_spec.ts', snapshot: true, }) }) it('spec fails with syntax error', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'typescript_syntax_error_spec.ts', snapshot: true, expectedExitCode: 1, - onStdout: e2e.normalizeWebpackErrors, + onStdout: systemTests.normalizeWebpackErrors, }) }) it('project passes', function () { const projPath = Fixtures.projectPath('ts-proj') - return e2e.exec(this, { + return systemTests.exec(this, { project: projPath, snapshot: true, }) @@ -33,7 +33,7 @@ describe('e2e typescript in spec and support file', function () { // @see https://github.com/cypress-io/cypress/issues/7006 // @see https://github.com/cypress-io/cypress/issues/8555 it('respects tsconfig paths', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: Fixtures.projectPath('ts-proj-with-paths'), }) }) diff --git a/packages/server/test/e2e/uncaught_spec_errors_spec.js b/system-tests/test/uncaught_spec_errors_spec.js similarity index 69% rename from packages/server/test/e2e/uncaught_spec_errors_spec.js rename to system-tests/test/uncaught_spec_errors_spec.js index 6bc2926b5e..a548f1296b 100644 --- a/packages/server/test/e2e/uncaught_spec_errors_spec.js +++ b/system-tests/test/uncaught_spec_errors_spec.js @@ -1,33 +1,33 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e uncaught errors', () => { - e2e.setup() + systemTests.setup() - e2e.it('failing1', { + systemTests.it('failing1', { spec: 'uncaught_synchronous_before_tests_parsed.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('failing2', { + systemTests.it('failing2', { spec: 'uncaught_synchronous_during_hook_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('failing3', { + systemTests.it('failing3', { spec: 'uncaught_during_test_spec.js', snapshot: true, expectedExitCode: 3, }) - e2e.it('failing4', { + systemTests.it('failing4', { spec: 'uncaught_during_hook_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('failing5', { + systemTests.it('failing5', { spec: 'caught_async_sync_test_spec.js', snapshot: true, expectedExitCode: 4, diff --git a/packages/server/test/e2e/uncaught_support_file_spec.js b/system-tests/test/uncaught_support_file_spec.js similarity index 65% rename from packages/server/test/e2e/uncaught_support_file_spec.js rename to system-tests/test/uncaught_support_file_spec.js index d7e496f654..d84c9292b1 100644 --- a/packages/server/test/e2e/uncaught_support_file_spec.js +++ b/system-tests/test/uncaught_support_file_spec.js @@ -1,13 +1,13 @@ -const e2e = require('../support/helpers/e2e').default -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const Fixtures = require('../lib/fixtures') const uncaughtSupportFile = Fixtures.projectPath('uncaught-support-file') describe('e2e uncaught support file errors', () => { - e2e.setup() + systemTests.setup() it('failing', function () { - return e2e.exec(this, { + return systemTests.exec(this, { project: uncaughtSupportFile, sanitizeScreenshotDimensions: true, snapshot: true, diff --git a/packages/server/test/e2e/user_agent_spec.js b/system-tests/test/user_agent_spec.js similarity index 83% rename from packages/server/test/e2e/user_agent_spec.js rename to system-tests/test/user_agent_spec.js index 82c2fa857d..fa3b1fa0bc 100644 --- a/packages/server/test/e2e/user_agent_spec.js +++ b/system-tests/test/user_agent_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = function (app) { app.get('/agent', (req, res) => { @@ -15,7 +15,7 @@ const onServer = function (app) { } describe('e2e user agent', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 4545, onServer, @@ -26,7 +26,7 @@ describe('e2e user agent', () => { }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'user_agent_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/video_compression_spec.js b/system-tests/test/video_compression_spec.js similarity index 92% rename from packages/server/test/e2e/video_compression_spec.js rename to system-tests/test/video_compression_spec.js index 45f91a004e..4a2a6084b2 100644 --- a/packages/server/test/e2e/video_compression_spec.js +++ b/system-tests/test/video_compression_spec.js @@ -9,10 +9,10 @@ ffmpeg.setFfprobePath(ffprobePath) const path = require('path') const fs = require('fs-extra') const humanInterval = require('human-interval') -const e2e = require('../support/helpers/e2e').default -const glob = require('../../lib/util/glob') -const videoCapture = require('../../lib/video_capture') -const Fixtures = require('../support/helpers/fixtures') +const systemTests = require('../lib/system-tests').default +const glob = require('@packages/server/lib/util/glob') +const videoCapture = require('@packages/server/lib/video_capture') +const Fixtures = require('../lib/fixtures') const NUM_TESTS = 40 const MS_PER_TEST = 500 @@ -31,13 +31,13 @@ function outputFinalFrameAsJpg (inputFile, outputFile) { } describe('e2e video compression', () => { - e2e.setup() + systemTests.setup() return [ true, false, ].forEach((headed) => { - e2e.it(`passes (head${headed ? 'ed' : 'less'})`, { + systemTests.it(`passes (head${headed ? 'ed' : 'less'})`, { // videos are corrupted in firefox due to known issues browser: '!firefox', spec: 'video_compression_spec.js', diff --git a/packages/server/test/e2e/viewport_spec.js b/system-tests/test/viewport_spec.js similarity index 61% rename from packages/server/test/e2e/viewport_spec.js rename to system-tests/test/viewport_spec.js index 17f7167a8c..9b3f497cad 100644 --- a/packages/server/test/e2e/viewport_spec.js +++ b/system-tests/test/viewport_spec.js @@ -1,14 +1,14 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e viewport', () => { - e2e.setup({ + systemTests.setup({ settings: { viewportWidth: 800, viewportHeight: 600, }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'viewport_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/visit_spec.js b/system-tests/test/visit_spec.js similarity index 87% rename from packages/server/test/e2e/visit_spec.js rename to system-tests/test/visit_spec.js index b5e743af5c..c70c44ff87 100644 --- a/packages/server/test/e2e/visit_spec.js +++ b/system-tests/test/visit_spec.js @@ -4,7 +4,7 @@ const cert = require('@packages/https-proxy/test/helpers/certs') const https = require('https') const useragent = require('express-useragent') const { allowDestroy } = require('@packages/network') -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default // create an HTTPS server that forces TLSv1 const startTlsV1Server = (port) => { @@ -117,7 +117,7 @@ foo\ describe('e2e visit', () => { context('low response timeout', () => { - e2e.setup({ + systemTests.setup({ settings: { responseTimeout: 500, pageLoadTimeout: 1000, @@ -129,7 +129,7 @@ describe('e2e visit', () => { }, }) - e2e.it('passes', { + systemTests.it('passes', { spec: 'visit_spec.js', snapshot: true, onRun (exec) { @@ -143,7 +143,7 @@ describe('e2e visit', () => { }, }) - e2e.it('passes with experimentalSourceRewriting', { + systemTests.it('passes with experimentalSourceRewriting', { spec: 'source_rewriting_spec.js', config: { experimentalSourceRewriting: true, @@ -160,38 +160,38 @@ describe('e2e visit', () => { }, }) - e2e.it('fails when network connection immediately fails', { + systemTests.it('fails when network connection immediately fails', { spec: 'visit_http_network_error_failing_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('fails when server responds with 500', { + systemTests.it('fails when server responds with 500', { spec: 'visit_http_500_response_failing_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('fails when file server responds with 404', { + systemTests.it('fails when file server responds with 404', { spec: 'visit_file_404_response_failing_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('fails when content type isnt html', { + systemTests.it('fails when content type isnt html', { spec: 'visit_non_html_content_type_failing_spec.js', snapshot: true, expectedExitCode: 1, }) - e2e.it('calls onBeforeLoad when overwriting cy.visit', { + systemTests.it('calls onBeforeLoad when overwriting cy.visit', { snapshot: true, spec: 'issue_2196_spec.js', }) }) context('low responseTimeout, normal pageLoadTimeout', () => { - e2e.setup({ + systemTests.setup({ settings: { responseTimeout: 2000, }, @@ -202,7 +202,7 @@ describe('e2e visit', () => { }, }) - e2e.it('fails when response never ends', { + systemTests.it('fails when response never ends', { spec: 'visit_response_never_ends_failing_spec.js', snapshot: true, expectedExitCode: 3, @@ -210,7 +210,7 @@ describe('e2e visit', () => { }) context('normal response timeouts', () => { - e2e.setup({ + systemTests.setup({ settings: { pageLoadTimeout: 1000, }, @@ -221,7 +221,7 @@ describe('e2e visit', () => { }, }) - e2e.it('fails when visit times out', { + systemTests.it('fails when visit times out', { spec: 'visit_http_timeout_failing_spec.js', snapshot: true, expectedExitCode: 2, diff --git a/packages/server/test/e2e/web_security_spec.js b/system-tests/test/web_security_spec.js similarity index 90% rename from packages/server/test/e2e/web_security_spec.js rename to system-tests/test/web_security_spec.js index dc0da65cf9..c87dcb0d30 100644 --- a/packages/server/test/e2e/web_security_spec.js +++ b/system-tests/test/web_security_spec.js @@ -1,4 +1,4 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = function (app) { app.get('/link', (req, res) => { @@ -51,7 +51,7 @@ const onServer = function (app) { } describe('e2e web security', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 4466, onServer, @@ -68,7 +68,7 @@ describe('e2e web security', () => { }) context('when enabled', () => { - e2e.it('fails', { + systemTests.it('fails', { spec: 'web_security_spec.js', snapshot: true, expectedExitCode: 4, @@ -76,7 +76,7 @@ describe('e2e web security', () => { }) context('when disabled', () => { - e2e.it('passes', { + systemTests.it('passes', { spec: 'web_security_spec.js', config: { chromeWebSecurity: false, @@ -87,7 +87,7 @@ describe('e2e web security', () => { }) context('firefox', () => { - e2e.it('displays warning when firefox and chromeWebSecurity:false', { + systemTests.it('displays warning when firefox and chromeWebSecurity:false', { spec: 'simple_passing_spec.js', snapshot: true, browser: 'firefox', diff --git a/packages/server/test/e2e/websockets_spec.js b/system-tests/test/websockets_spec.js similarity index 87% rename from packages/server/test/e2e/websockets_spec.js rename to system-tests/test/websockets_spec.js index d22571dcc8..77846972e3 100644 --- a/packages/server/test/e2e/websockets_spec.js +++ b/system-tests/test/websockets_spec.js @@ -1,6 +1,6 @@ const ws = require('ws') -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = (app) => { return app.get('/foo', (req, res) => { @@ -21,7 +21,7 @@ const onWsServer = function (app, server) { const onWssServer = function (app) {} describe('e2e websockets', () => { - e2e.setup({ + systemTests.setup({ servers: [{ port: 3038, static: true, @@ -36,7 +36,7 @@ describe('e2e websockets', () => { }) // https://github.com/cypress-io/cypress/issues/556 - e2e.it('passes', { + systemTests.it('passes', { spec: 'websockets_spec.js', snapshot: true, }) diff --git a/packages/server/test/e2e/window_open_spec.js b/system-tests/test/window_open_spec.js similarity index 67% rename from packages/server/test/e2e/window_open_spec.js rename to system-tests/test/window_open_spec.js index 937f96cca8..b8a02a5448 100644 --- a/packages/server/test/e2e/window_open_spec.js +++ b/system-tests/test/window_open_spec.js @@ -1,11 +1,11 @@ -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default describe('e2e window.open', () => { - e2e.setup() + systemTests.setup() // NOTE: skipping this for now due to snap-shot-it monkey patching causing test failures it.skip('passes', function () { - return e2e.exec(this, { + return systemTests.exec(this, { spec: 'window_open_spec.coffee', snapshot: true, }) diff --git a/packages/server/test/e2e/xhr_spec.js b/system-tests/test/xhr_spec.js similarity index 79% rename from packages/server/test/e2e/xhr_spec.js rename to system-tests/test/xhr_spec.js index 046875464a..5a16f58f78 100644 --- a/packages/server/test/e2e/xhr_spec.js +++ b/system-tests/test/xhr_spec.js @@ -1,5 +1,5 @@ const bodyParser = require('body-parser') -const e2e = require('../support/helpers/e2e').default +const systemTests = require('../lib/system-tests').default const onServer = function (app) { app.use(bodyParser.json()) @@ -21,19 +21,19 @@ const onServer = function (app) { } describe('e2e xhr', () => { - e2e.setup({ + systemTests.setup({ servers: { port: 1919, onServer, }, }) - e2e.it('passes in global mode', { + systemTests.it('passes in global mode', { spec: 'xhr_spec.js', snapshot: true, }) - e2e.it('passes through CLI', { + systemTests.it('passes through CLI', { spec: 'xhr_spec.js', snapshot: true, useCli: true, diff --git a/packages/server/test/e2e/yarn_v2_pnp_spec.ts b/system-tests/test/yarn_v2_pnp_spec.ts similarity index 80% rename from packages/server/test/e2e/yarn_v2_pnp_spec.ts rename to system-tests/test/yarn_v2_pnp_spec.ts index a7fa14cbc3..0f495724da 100644 --- a/packages/server/test/e2e/yarn_v2_pnp_spec.ts +++ b/system-tests/test/yarn_v2_pnp_spec.ts @@ -3,8 +3,8 @@ import os from 'os' import path from 'path' import cp from 'child_process' import util from 'util' -import e2e from '../support/helpers/e2e' -import Fixtures from '../support/helpers/fixtures' +import systemTests from '../lib/system-tests' +import Fixtures from '../lib/fixtures' const exec = async (cmd, ...args) => { console.log(`Running "${cmd}"...`) @@ -21,13 +21,15 @@ const exec = async (cmd, ...args) => { return ret } -const fixtureDir = Fixtures.path('projects/yarn-v2-pnp') -const cypressCli = path.join(__dirname, '../../../../cli/bin/cypress') +const fixtureDir = Fixtures.projectPath('yarn-v2-pnp') +const cypressCli = path.join(__dirname, '../../cli/bin/cypress') describe('e2e yarn v2', () => { let projectDir beforeEach(async function () { + Fixtures.scaffold() + this.timeout(240000) // copy yarn-v2 to tmpdir so node_modules resolution won't fall back to project root @@ -42,7 +44,7 @@ describe('e2e yarn v2', () => { await projectExec('yarn') }) - e2e.it('can compile plugin and test specs', { + systemTests.it('can compile plugin and test specs', { snapshot: false, command: 'yarn', browser: 'electron',