Commit Graph

1150 Commits

Author SHA1 Message Date
Zachary Williams 0577a52088 chore: update _cySkipYarnInstall and Fixture methods 2022-03-23 15:12:02 -05:00
Zachary Williams 110f8ae02d fix: remove --config-file false references and update types (#20643)
* fix: remove --config-file false references and update types

* cleanup tests and types, catch errors when calling open

* fix test

* remove string check

* code quality feedback
2022-03-21 22:49:14 +10:00
BlueWinds 7dc27ad35e Merge remote-tracking branch 'origin/10.0-release' into UNIFY-1302-slowTestThreshold-by-testing-type 2022-03-15 15:42:50 -07:00
David Munechika 2f5f0de759 fix(unify): Use of experimentalStudio should throw a warning that it is removed (#20515)
* add terminal warning for experimental studio

* add to errors old

* add warnings to main

* debug onWarning callback

* show error in open mode

* update snapshot

* update tests

* validate config earlier

* remove from types and schema

* use on link

* refactor getError

* update types

Co-authored-by: Emily Rohrbough  <emilyrohrbough@users.noreply.github.com>

* add unit test for validateNoBreakingConfigLaunchpad

* fix types

* merge test files

* update types

Co-authored-by: Emily Rohrbough  <emilyrohrbough@users.noreply.github.com>
2022-03-15 11:30:15 +10:00
Emily Rohrbough efede20d9e chore(unification): remove pluginsFile references (#20560)
* remove pluginsFile references

* fix all tests relying on this system test

* fix broken tests

* fix more broken tests

* one more

* relative path

* pr feedbkac

* fix vite-dev-server broken configuration

* PR feedback on error message

* update errors snaphsot

* bring back error in gql

* fix snapshot

* fix snapshot.

* fix merge issues

Co-authored-by: ElevateBart <ledouxb@gmail.com>
2022-03-15 11:27:04 +10:00
BlueWinds 538c4aec24 Fix system test 2022-03-14 13:35:21 -07:00
Barthélémy Ledoux c4dec1efb9 refactor: make config package type-safe (#20590) 2022-03-14 15:32:11 -05:00
Zachary Williams 3a53814e16 fix: can't switch from electron browser to another (#20563)
Co-authored-by: Jess <jess@jessicasachs.io>
2022-03-14 11:42:20 -05:00
Tim Griesser e7efc10aed feat: Add initial structure to support GraphQL subscriptions (#20558)
* feat: rename __socket.io -> __socket, add __socket-graphql for graphql-ws

* fix: remove currentTestingType from Query type

* feat: add subscription to refresh when auth state changes

* Update packages/frontend-shared/src/gql-components/HeaderBarContent.vue

* PR review updates, add docs, tests for authChange subscription

* remove login/logout toApp/toLaunchpad calls

* remove login/logout/devChange toApp/toLaunchpad calls

* fix, getCtx lazily to fix proxy performance spec

* Fix, thanks @JessicaSachs

* test fixes, remove flash of missing content in wizard

Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Jess <jess@jessicasachs.io>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-03-14 10:03:48 -04:00
Alejandro Estrada 5670344590 feat: remove testFiles reference (#20565)
* feat: remove testFiles reference

* feat: remove testFiles reference

* Fix test/TS
2022-03-11 12:02:37 +10:00
Mark Noonan bd7f0614d0 clean up formatting from merge 2022-03-09 00:04:08 +00:00
Mark Noonan bd3188e30a remove reference to global.root 2022-03-08 16:50:37 +00:00
Mark Noonan a7c8367794 resolve conflicts 2022-03-08 15:36:37 +00:00
David Munechika 047aefc4ba fix: error regression - unexpected ANSI color chars shown on Firefox warning message about chromeWebSecurity (#20512) 2022-03-08 08:32:16 -05:00
Lachlan Miller 78dc50ee87 do not use root in spec require 2022-03-07 11:57:38 +10:00
Lachlan Miller 76129e26af merge in develop to 10.0-release 2022-03-07 10:44:26 +10:00
Tyler Biethman 5a30e76819 fix: Prepare for Chrome's update for immutable document.domain (#20405)
* Setting response header for origin-agent-cluster for runner, iframes, and proxied requests that have domain injection

* Adding comments around header injection

* Adding unit tests
2022-03-04 10:46:23 -06:00
Zach Bloomquist f7e38c03e1 fix: set launchpad BrowserWindow minHeight to 400 (#20466)
* fix: set launchpad BrowserWindow minHeight to 400

* rename interactive-e2e to interactive
2022-03-04 14:36:33 +10:00
Blue F e79fd64d54 feat: CLI config not supporting nested properties correctly (#20127)
* Support setting testingType specific config at root via cli args

* Properly merge CLI testing-type specific arguments

* Include CLI overrides when refreshing project config in dataContext

* Make TS happy

* Update config nesting to work without explicitly passed in testing type

* Fix types

* Fix types gooder

* Fix server unit test for config nesting

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-02-25 12:24:23 +10:00
Tyler Biethman 659c527707 fix: Relaunching app when Focus is pressed after app has closed (#20352)
* fix: Updating Focus behavior to relaunch browser if runner has been closed

Also updating firefox executable used to ensure focus behavior continues working for firefox

* Adding unit tests
2022-02-24 15:51:45 -06:00
Mark Noonan 49d699336b chore(unify): always allow devtools in launchpad (#20298)
* no longer check if dev to show devtools

* match tests to new behavior

* remove 'withDevTools` option

* Revert "remove 'withDevTools` option"

This reverts commit ff4a8b96e4.

* rename withDevTools to withInteralDevTools

* coniditionally show internal dev tools in menu

* test nesting
2022-02-23 11:23:11 -05:00
Tim Griesser 47b1f38f62 Merge branch 'develop' into 10.0-release
* develop: (35 commits)
  fix(deps): update dependency url-parse to v1.5.6 [security] (#20270)
  chore: fix cache keys to include PLATFORM (#20279)
  chore: fix server performance flake (#20271)
  test(system-tests): support docker-based tests against built binary (#20250)
  chore: fix system-test-firefox screenshots_spec flake (#20268)
  chore(deps): update dependency fs-extra to v9 🌟 (#19939)
  fix: Wait for child process to be ready (#19792)
  fix: treat form-data bodies as binary (#20144)
  test: replace cypress-test-example-repos coverage + remove bump (#20186)
  fix(driver): update wrapErr to ignore number and boolean values (#20172)
  release 9.5.0 [skip ci]
  chore: Update Chrome (stable) to 98.0.4758.102 (#20192)
  chore: enable volar.takeOverMode
  Add span names, merge develop
  fix: Update `.type(' ')` to not emit clicks when the keyup event has been prevented (#20156)
  test: remove redundant "other projects" CI jobs (#20133)
  chore(driver): move cy.focused and cy.root into their own files (#20054)
  Move sending root event to own script
  chore: release @cypress/vue-v3.1.1
  chore: release @cypress/react-v5.12.3
  ...
2022-02-22 12:40:07 -05:00
Brian Mann 762c78f734 fix tests 2022-02-22 10:30:49 -05:00
Tim Griesser 808b2c7002 Merge branch '10.0-release' into 10.0-release-merge-4b50f9ee
* 10.0-release:
  feat: Updating reporter panel's default width to match new designs (#20231)
  feat(unify): Login error states (#20204)
2022-02-21 20:17:37 -05:00
Tim Griesser 032ec60d38 fix spec failures 2022-02-21 19:21:19 -05:00
Tim Griesser 675b78f19f fix remaining test failures 2022-02-21 18:38:05 -05:00
Tim Griesser 73def69360 Fixing CONFIG_VALIDATION_ERROR / SETUP_NODE_EVENTS_IS_NOT_FUNCTION errors 2022-02-21 17:37:39 -05:00
Tim Griesser 7e8370a2a5 working through mapping error cases from develop 2022-02-21 17:07:46 -05:00
Mark Noonan 2997e0e129 feat(unify): Login error states (#20204) 2022-02-21 12:42:02 -05:00
Tim Griesser 28b4cc85ba fix: skip test that is no longer correct in 10.x 2022-02-21 11:23:42 -05:00
Brian Mann d14d5ccd0c remove fixtures after shutting down the project 2022-02-21 10:10:18 -05:00
Brian Mann bc73d956a8 export errors.theme, update imports not to require from deep inside packages 2022-02-18 17:09:09 -05:00
Brian Mann 6f2bccebd5 properly skip describe suites + tests and add TODO comments 2022-02-18 17:08:44 -05:00
Brian Mann 8576cd1f11 fix test assertion 2022-02-18 16:30:36 -05:00
Brian Mann 73c7631816 fix all the tests that escape "doesn\'t" to use string templates 2022-02-18 16:23:20 -05:00
Johannes Ewald ad50062ca2 fix: Wait for child process to be ready (#19792)
Co-authored-by: Zach Bloomquist <github@chary.us>
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-02-17 18:21:08 +00:00
Tim Griesser 61e9f00517 fix: cleanup a few more tests/snapshot errors 2022-02-17 10:43:22 -05:00
Tim Griesser 6727893b1e fix: additional cleanup of errors following merge 2022-02-17 09:59:30 -05:00
Tim Griesser 9a1874d6a8 fix: clean up a few test failures 2022-02-16 17:07:53 -05:00
Brian Mann 025f5cdda3 use proper method call 2022-02-15 02:30:50 -05:00
Brian Mann f076a64f3b rename clone -> cloneErr 2022-02-15 02:15:15 -05:00
Brian Mann 923ab0a9ba export additional properties on error, update refs, fix tests 2022-02-15 02:03:14 -05:00
Brian Mann e53e74f1f3 export what is called directly to avoid circular ref proxy that's unstubbable 2022-02-14 20:49:35 -05:00
Tim Griesser 678bedeca6 Merge branch 'develop' into 10.0-release
* develop:
  feat: gray out the path to system node in cypress run header (#20121)
  feat: redesign server errors (#20072)
  test: fix awesome-typescript-loader test and remove test-binary job (#20131)
  fix: Fix issues with stack traces and command log in Chrome 99 (#20049)
  fix: `cy.type(' ')` fires click event on button-like elements. (#20067)
  fix: `change`, `input` events are not fired when the same option is selected again. (#19623)
  build: publish vue3 on latest (#20099)
  chore: release @cypress/webpack-preprocessor-v5.11.1
  chore: release @cypress/webpack-dev-server-v1.8.1
  fix: detect newly added specs in dev-server compilation (#17950)
  chore: Remove pkg/driver //@ts-nocheck part 3 (#19837)
  chore: set up semantic-pull-request GitHub Action (#20091)
  chore: release @cypress/react-v5.12.2
  fix: remove nullish coalescing in js files to support node 12 (#20094)
  docs: update @cypress/webpack-preprocessor links (#19902)
  refactor: use aliases instead of meta (#19566)
2022-02-13 15:36:48 -05:00
Brian Mann 29841f32b9 feat: redesign server errors (#20072)
* chore: rename errors.js -> errors.ts

* refactor: type safety on errors

* refactor: add err_template for consistent error formatting

* fix a few system tests

* fix tests; update snapshots

* Fix types

* normalize snapshot - remove chalk ansi colors

* more unit test fixes

* more system test fixes

* circleci build

* backtick always in stdout, fix error formatting and failing snapshots

* refactor: create @packages/errors

* fix import

* fix import

* fixing build / tests

* remove extraneous file

* move warnIfExplicitCiBuildId

* fix build / tests

* Fix

* error, type fixes, documentation, standardize child process error serialization

* fix import

* build errors on install

* wrote specs generating visual images of all errors

* remove unused dep

* sanitize stack traces

* add image diffing

- if base images don't exist, create them
- if base images don't match and local, overwrite them, if in CI throw
- if base images are stale and local, delete them, if in CI throw

* remove Courier New + MesloLGS NF font

* type fixes, remove Bluebird, general cleanup

* TS Cleanup

* skip typecheck on tests for now

* yarn.lock

* fix @types/chai version

* fix yarn.lock

* Different version of mocha types so it isnt patched

* errors spec snapshot

* CI fix

* fixes

* store snapshot images in circle artifacts

* dont change artifact destination prefix

* use Courier Prime

* antialias the text

* decrease pixelmatch threshold, fail in CI only when changed pixels > 100

* increase timeout

* overflow: hidden, remove new Promise, add debug logging

Co-Authored-By: Tim Griesser <tgriesser@gmail.com>

* run unit tests w/ concurrency=1

* unique window per file

* disable app hardware acceleration + use in process gpu + single process

* do not do image diffing

- conditionally convert html to images
- store html snapshots
- do not store images in git

* store snapshot html

* Merge branch 'tgriesser/chore/refactor-errors' of https://github.com/cypress-io/cypress into tgriesser/chore/refactor-errors

* remove concurrency

* fix assertion

* fixing ci

* Link in readme

* pass the browsers to listItems

* fix: build @packages/errors in CI, defer import to prevent errors locally

* Merge branch 'develop' into tgriesser/chore/refactor-errors

* develop:
  chore: fix cypress npm package artifact upload path (#20023)
  chore(driver): move cy.within logic into it's own file (#20036)
  chore: update automerge workflows (#19982)
  fix(selectFile): use target window's File/DataTransfer classes (#20003)
  chore: Update Chrome (stable) to 98.0.4758.80 and Chrome (beta) to 98.0.4758.80 (#19995)
  fix: Adjust ffmpeg CLI args for performance (#19983)
  build: allow unified to run cypress on Apple Silicon (arm64) (backport #19067 to 9.x) (#19968)

* fix run-if-ci.sh

* remove dead code

* Mark the .html files as generated in gitattributes

* fix running single error case, slice out more of the brittle stack

* remove additional brittle stack line

* firefox web security error

* nest inside of describe

* reformat and redesign errors

* more error cleanup and standardization

* additional formatting of errors, code cleanup, refactoring

* update ansi colors to match terminal colors

* cleanup remaining loose ends, update several errors, compact excess formatters

* fix types

* additional formatting, remove TODO's, ensure no [object Object] in output

* add test for 412 server response on invalid schema

* update unknown dashboard error on creating run

* use fs.access instead of fs.stat for perf

* added PLUGINS_FILE_NOT_FOUND error

- separated out from PLUGINS_FILE_ERROR
- add system tests for both cases
- update snapshots
- remove stack trace from PLUGINS_FILE_NOT_FOUND fka PLUGINS_FILE_ERROR

* add plugins system test around plugins synchronously throwing on require

* remove forcing process.cwd() to be packages/server, update affected code

- this was a long needed hangover from very old code that was doing unnecessary things due to respawning electron from node and handling various entrypoints into booting cypress
- this also makes the root yarn dev and dev-debug work correctly because options.cwd is set correctly now

* perf: lazy load chalk

* remove excessive line since the file exists but is invalid

* fix types

* add system test when plugins function throws a synchronous error

* create new PLUGINS_INVALID_EVENT_ERROR, wire it up correctly for error template use

- properly pass error instance from child to ensure proper user stack frames
- move error display code into the right place

* only show a single stack trace, either originalError or internal cypressError

* push error html snapshots

* fix tests, types

* fix test

* fix failing tests

* fix tests

* fixes lots of broken tests

* more test fixes

* fixes more tests

* fix type checking

* wip: consistent handling of interpolated values

* feat: fixing up errors, added simple error comparison tool

* wrapping up error formatting

* Fixes for unit tests

* fix PLUGINS_VALIDATION_ERROR

* fix fs.readdir bug, show rows even if there's only markdown formatting [SKIP CI]

* when in base-list, show full width of errors

* Fix type errors

* added searching and filtering for files based on error name

* fix: system tests

* updated NO_SPECS_FOUND error to properly join searched folder + pattern

- join patterns off of process.cwd, not projectRoot
- highlight original specPattern in yellow, baseDir in blue
- add tests

* fixes failing tests

* fix test

* preserve original spec pattern, display relative to projectRoot for terminal banner

* make the nodeVersion path display in gray, not white

* fix tests, pass right variables

* fix chrome:canary snapshots

* update snapshots

* update snapshot

* strip newlines caused by "Still waiting to connect to {browser}..."

* don't remove the snapshotHtmlFolder in CI, add additional verification snapshots match to error keys symmetrically

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update snapshot

* update gitignore

* fix snapshot

* update snapshot html

* update logic for parsing the resolve pattern matching, add tests

* update snapshots

* update snapshot

* update snapshot

* update snapshot

* fix failing test

* fix: error_message_spec

* fix snapshot

* run each variant through an it(...) so multiple failures are received

* add newlines to multiline formatters, add fmt.stringify, allow format overrides

* stringify invalid return values from plugins

* move config validation errors into packages/errors, properly highlight and stringify values

* add component testing yarn commands

* fix the arrow not showing on details

* fix typescript error

* fixed lots of poorly written tests that weren't actually testing anything. created settings validation error when given a string validation result.

* fixes tests

* fixes tests, adds new error template for validating within an array list (for browser validation)

* remove dupe line

* fix copy for consistency, update snapshots

* remove redundant errors, standardize formatting and phrasing

* more formatting

* remove excess snapshots

* prune out excessive error snapshot html files when not in CI

* add missing tests, add case for when config validation fails without a fileType

* fixes test

* update snapshot

* update snapshot

* update snapshot

* sort uniqErrors + errorKeys prior to assertion - assert one by one

* add system test for binding to an event with the wrong handler

* fixes tests

* set more descriptive errors when setting invalid plugin events, or during plugin event validation

* remove duplicate PLUGINS_EVENT_ERROR, collapse into existing error

* use the same multiline formatting as @packages/errors

* standardize verbiage and highlighting for consistency

* fix incorrect error path

* fixes tests, standardized and condensed more language

* Update packages/errors/src/errors.ts

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update guides/error-handling.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* Update guides/error-handling.md

Co-authored-by: Ryan Manuel <ryanm@cypress.io>

* added some final todo's

* fix types

Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
Co-authored-by: Tim Griesser <tgriesser@gmail.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2022-02-11 02:06:07 -05:00
Tim Griesser 6b539b05f5 feat: graphql over websockets (#20108)
* feat: graphql over websockets

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-02-10 16:28:37 -05:00
Ryan Manuel a015397f57 fix: reorder electron launching sequence to eliminate timing issue (#20140)
Co-authored-by: Emily Rohrbough  <emilyrohrbough@users.noreply.github.com>
2022-02-10 11:36:16 -06:00
Ryan Manuel ef96a1d8d0 fix: windows builds due to addition of resource class (#20100)
Co-authored-by: Barthélémy Ledoux <bart@cypress.io>
2022-02-09 15:29:52 -06:00
Ryan Manuel 655090330f feat: Close and reopen a new tab in between tests to get around a memory leak (#19915) 2022-02-08 10:16:03 -06:00
Alejandro Estrada 5d52758d82 feat: validate specPattern root level (#19980)
* feat: validate specPattern root level

* Fix/add tests

* Fix test

* Update specExcludePattern

* Fix tests

* Fix/add tests

* Fix/add tests

* Fix tests

* Rename specExcludePattern to excludeSpecPattern

* Fix tests
2022-02-04 10:48:10 -05:00