Commit Graph

472 Commits

Author SHA1 Message Date
Adam Stone-Lord 189cd923f7 chore: use resolve-package-path to resolve installed dependency versions more reliably (#26033) 2023-03-08 16:46:59 -05:00
Lachlan Miller 1d3aab9d70 feat: Public API for CT Framework Definitions (#25780)
* chore: rework component onboarding in launchpad (#25713)

* chore: refactoring and types

* rework source of frameworks

* revert rename

* fix tests

* fix more tests

* types

* update code

* use same public API internally

* rename interfaces

* rename

* work on dev server api

* fix types

* fix test

* attempt to support getDevServerConfig

* tests

* add function to define framework [skip ci]

* rework a lot of types

* fix test

* update tests and types

* refactor

* revert changes

* lint

* fix test

* revert

* remove

* add "community" label [skip ci]

* refactor

* types

* lint

* fix bug

* update function name

* address feedback

* improve types with Pick

* refactor using type guard

* correct label

---------

Co-authored-by: Zachary Williams <ZachJW34@gmail.com>

* chore: typing error

* feat: scan for 3rd party ct plugins (#25749)

* chore: refactoring and types

* rework source of frameworks

* revert rename

* fix tests

* fix more tests

* types

* update code

* use same public API internally

* rename interfaces

* rename

* work on dev server api

* fix types

* fix test

* attempt to support getDevServerConfig

* tests

* add function to define framework [skip ci]

* rework a lot of types

* fix test

* update tests and types

* refactor

* revert changes

* lint

* fix test

* revert

* remove

* add "community" label [skip ci]

* refactor

* types

* lint

* fix bug

* update function name

* address feedback

* feat: scan for 3rd party ct plugins

* add e2e test

* unit tests [run ci]

* tweak resolution

* rebase, address comments

* fix windows paths

* remove .gitignore

* fix test

---------

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

* lint config

* spacing

* try fix race cond

* fix import error

* build binary

* try update snapshot

* try using require

* support namespaced definitions (#25804)

* remove category

* add icon prop

* support esm -> cjs compiled typescript

* fix test

* misc: add CTA footer to launchpad framework dropdown (#25831)

* remove test project dependencies

* rebase

* windows

* windows again

* add changelog entry

* changelog

* revert workflow

* remove worklfow

---------

Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: Adam Stone-Lord <adams@cypress.io>
2023-02-21 17:43:20 +10:00
Bill Glesias 9e059d087f feat: support host only cookies (#25853)
* feat: allow setCookie API to take a hostOnly option

* chore: add jsdoc/typescript description to render to users

* chore: add changelog entry

* [run ci]

* chore: fix types

* chore: fix cookie login tests

* chore: update e2e cookie system tests

* [run ci]

* chore: fix cookie command tests. localhost cookies are calculated as hostOnly, which is consistent with how cypress works today

* chore: fix system tests for cookies.

* [run ci]

* chore: fix system tests

* chore: skip hostOnly assertions in webkit (for now)

* [run ci]

* chore: add property definitions to setCookieOptions

* [run ci]

* chore: add comments to hostOnly prop in firefox when setting a cookie
2023-02-17 17:35:04 -05:00
Podles 5fb2167bb4 fix: Fix type definitions for cy.reload() (#25779)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2023-02-16 13:43:55 -06:00
Blue F a11e266b8b feat: add Cypress.Commands.overwriteQuery (#25674)
* feat: add Cypress.Commands.overwriteQuery

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
2023-02-13 11:24:56 -08:00
Chris Breiding 41512c416a feat: Bundle cy.origin() dependencies at runtime (#25626)
Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-02-13 11:59:29 -05:00
Alejandro Estrada 19e091d0bc feat: add --auto-cancel-after-failures flag (#25237)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Ryan Pei <ryanppei@gmail.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
2023-02-10 10:32:54 -06:00
Matt Schile beb411f3f4 fix: test:after:run passes the runnable (#25678) 2023-02-02 08:17:25 -06:00
Blue F 094e3d03cc feat: Add 'type' option to .as to store aliases by value (#25251)
* feat: Add 'type' option to `.as` to store aliases by value

Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2023-01-24 08:02:45 -08:00
Matt Schile d1dc1258ea fix: improve memory management for chromium-based browsers (#25462) 2023-01-18 15:35:57 -07:00
Bill Glesias d470f59ea2 feat: experimental skip domain injection (#25307)
* feat: set up experimentalUseDefaultDocumentDomain to disallow document.domain overwritting

* use default domain around experimentalUseDefaultDocumentDomain in main iframe and spec bridge iframes. Also adapt CORS policy to use same-origin if experimental flag is set

* run ci

* fix: add insertion of experimental flag where is was needed/missing

* chore: add system test to exercise experimental flag for expected behavior

* fix: fix issues with template updates to conform to squirrelly v7

* fix: update config tests to include new experimental flag

* run ci

* fix: trailing whitespace [run ci]

* chore: update snapshot

* run ci

* fix: update proxy unit tests to account for experimentalUseDefaultDocumentDomain

* run ci

* fix: Allow component tests with special characters in filepath (#25299)

feat: cut over experimental flag to take list of known problematic domains via string/glob pattern

run ci

chore: update system test and fix broken config

* fix: fix server unit and integration tests. integration tests should no longer use google to test against injection as we do not inject document.domain on google domains

* run ci

* run ci

* fix: server integration tests where google documents are expected to receive document.domain injection. Kept test same by changing URL

* run ci

* fix: update server test with mssing unupdated assertions

* run ci

* fix: turn off experimental flag by default while recommending sane defaults to users to configure

* run ci

* chore: fix typings [run ci]

* run ci

* chore: make experiment an e2e option only

* run ci

* chore: address comments in code review

* chore: rename experimentalUseDefaultDocumentDomain to experimentalSkipDomainInjection

* fix regression in shouldInjectionDocumentDomain utility function and add unit tests

* run ci

* chore: rename documentSuperDomainIfExists to superDomain [run ci]

* chore: address comments from code review

* chore: just pass opts through to policyForDomain

* run ci

Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
2023-01-09 10:00:05 -05:00
Wojciech Szućko acc61d8bd2 feat: add currentRetry to Cypress API (#25297)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Emily Rohrbough <emilyrohrbough@yahoo.com>
2023-01-03 11:41:31 -06:00
Mike Plummer e34adddbed fix: Add missing filter parameter to nextUntil command (#25167) 2022-12-15 15:29:42 -06:00
Emily Rohrbough 4e82100303 fix: update custom-query on links to match custom-command syntax (#25092) 2022-12-09 15:57:29 -06:00
Chris Breiding fc43cecdad feat: Add cy.getAllCookies() and cy.clearAllCookies() (#25012) 2022-12-08 13:12:32 -05:00
Emily Rohrbough 797c8f8d77 chore: update session api types & exposed global helpers (#24980)
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-12-06 08:19:39 -06:00
Emily Rohrbough afc5e030af feat(12): change testIsolation values from on/off to true/false (#24935)
* feat(12): change testIsolation values from on/off to true/false

* missed

* Update cli/types/cypress.d.ts

Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>

Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-12-02 10:29:21 -06:00
Emily Rohrbough 05530ce531 chore(12): merge develop into release/12.0.0 (#24927)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Mark Noonan <mark@cypress.io>
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Mike Plummer <mike-plummer@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: Feng Yu <abcfy2@users.noreply.github.com>
2022-12-01 19:33:44 -06:00
Matt Schile 98efdf45b3 feat: Added experimentalOriginDependencies to gate dependencies support within cy.origin (#24931)
* adding experimentalOriginDependencies flag

* update system tests
2022-12-01 15:40:05 -06:00
Blue F 8ff38cdb01 feat: Create public Cypress.ensure API for use with custom queries (#24697)
* fix: Improve TypeScript support for custom queries

* Typo fix

* Fix TS more

* Move 'ensures' off of cy and onto Cypress

* Type fixes

* One missed replacement

* Test fixes

* Properly pass in  to ensureRunnable

* Add .eslintignores to quiet down warnings

* Review feedback

* Update cli/types/cypress.d.ts

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

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
2022-11-29 09:34:34 -06:00
Emily Rohrbough 83f8997532 chore(v12): test isolation GA cleanup (#24736)
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Closes undefined
2022-11-29 08:30:14 -06:00
Chris Breiding 27b0f2186f fix: Use hostname as default domain for cookie commands (#24692)
BREAKING CHANGE: Cookie commands now use the the hostname and not the superdomain for the domain by default. This may affect what cookies are returned/set/cleared by cookie commands.
2022-11-23 09:54:09 -05:00
Emily Rohrbough 5f56670051 chore(12): merge in develop (#24783)
Co-authored-by: Ben M <benm@cypress.io>
Co-authored-by: Dariusz Czajkowski <darek@darek.dev>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Adam Stone <adams@cypress.io>
2022-11-23 07:55:29 -06:00
BlueWinds 286bd9dac1 Merge remote-tracking branch 'origin/develop' into update-release-12 2022-11-22 08:57:02 -08:00
Lachlan Miller 4bbd78e22e feat: Re-introduce Run All specs for End to End under experimentalRunAllSpecs flag (#24745)
* feat: re-enable Run All Specs (#24683)

* fix: disable query in run-mode

* feat: Run-all-specs-ui (#24738)

* wip run-all-specs-ui

* added component tests for specs-list, inline-specs-list, and run-all-specs

* updated tests for specslist, inlinespeclist, and runAllSpecs

* simplify test

* make prop with default value optional

* enable run all specs

* use named slot for clarify

* use Record type

* remove un-necessary dynamic component

* use group and hover to inline css

* fix tests

* fix tests and use snapshot for style testing

Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>

* fix typescript

* fix test

* build binary for run all specs

* fix: tweaks for Run All Specs (#24746)

* update ui [skip ci]

* change types to reflect run all specs is e2e only

* chore: separate run all specs components

* fix typescript error

* fix: run-all UI tweaks and keyboard nav (#24757)

Closes undefined

* fix UI test

* move listener and use i18n [skip ci] (#24761)

* fix: run-all-specs duplicate file-matching (#24763)

* chore: limit linting [skip ci]

* do not get separator until app is loaded

* fix test

Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
2022-11-22 17:28:48 +10:00
Emily Rohrbough 79ea453764 chore(v12): merge develop into release/12.0.0 (#24705)
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
Co-authored-by: mattvCypress <mattv@cypress.io>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Jordan <jordan@jpdesigning.com>
Co-authored-by: Adam Stone <adams@cypress.io>
2022-11-18 16:02:31 -06:00
Adam Stone bf6a52ab3d feat: add cloud recommendation message to CI output (#24680) 2022-11-18 14:43:50 -05:00
Adam Stone e3435b6fba chore: re-name dashboard references to Cypress Cloud (#24699)
Co-authored-by: mattvCypress <mattv@cypress.io>
Co-authored-by: amehta265 <65267668+amehta265@users.noreply.github.com>
2022-11-17 09:10:50 -05:00
Jordan ed90b14d4f refactor: move linting to each lib to enable caching (#24424) 2022-11-17 17:31:19 +10:00
Chris Breiding e4be9697bd Merge branch 'develop' into merge-develop-v12-2022-11-14-take-2 2022-11-14 13:57:38 -05:00
Blue F 9ae911f396 feat: Queries, Detached DOM, and Retry-Ability (#24628)
* feat: Commands.addSelector, and migrate .get() to be a selector

* Fix for failed tests

* Last test fix

* More test fixes

* Self review changes

* Remove the concept of prevSubject from selectors entirely

* Rename addSelector to addQuery

* Quick fix for last commit

* Fix TS

* Fix merge from develop

* Add types and other review updates

* Increase timeout to try fixing flakiness

* Rename addQuery to _addQuery

* Fix typo in previous commit

* Fix TS

* Include AUT assertion in cy.get()

* Fix for previous commit

* Review feedback

* Minor test improvement

* Swifter failure on sizzle syntax error

* Better solution for refetching current subject in verifyUpcomingAssertions

* Command IDs now include their chainerId

* Revert "chore: Revert "feat: _addQuery() (#23665)" (#24022)"

This reverts commit f399994e9f.

* feat: move .contains() and .shadow() to be queries; remove cy.ng() (#23791)

* First stab at removing old .get() implementation

* Fix TS and a couple of tests

* Fix tests and TS

* Fix case-sensitivity for .contains()

* Stop TS complaining

* Rework cy-contains jquery expression

* Add comments, make ts happy

* Fix one test, review feedback

* Review updates

* Fix additional tests

* Fix accidental deletion of vital code

* One more try at getting logs right

* Fix race condition in cross-origin .contains

* Add commented out test to ensure .within() works properly with selectors

* Fix for sessions + query subject chaining

* Fix mixing .within() shadow DOM and .contains() in same chainer

* One more attempt at .within + .contains

* Fix rebase commits

* feat: addQuery Remaining Queries (#24203)

* First stab at removing old .get() implementation

* Fix TS and a couple of tests

* Fix tests and TS

* Fix case-sensitivity for .contains()

* Stop TS complaining

* Rework cy-contains jquery expression

* Add comments, make ts happy

* Fix one test, review feedback

* Review updates

* Fix additional tests

* Fix accidental deletion of vital code

* One more try at getting logs right

* Fix race condition in cross-origin .contains

* Add commented out test to ensure .within() works properly with selectors

* Fix for sessions + query subject chaining

* Fix mixing .within() shadow DOM and .contains() in same chainer

* One more attempt at .within + .contains

* Fix rebase commits

* Update many commands to be queries; improve log message around invalid subjects

* Update connectors, location, focused and window commands to queries

* Return noop to a command and not a query (to avoid implicit assertions)

* More test fixes

* Fix test failures

* Fix for weird-ass frontend-component test

* Error message improvements

* Fix for broken system test

* Update withinSubject to use subject chain

* Test clarifications

* Unbreak cypress-testing-library via withinState backwards compatibility

* Typo in last commit

* Improvement for assertion following failed traversal

* feat: Fix detached DOM errors for all Cypress commands (#24417)

* First stab at removing old .get() implementation

* Fix TS and a couple of tests

* Fix tests and TS

* Fix case-sensitivity for .contains()

* Stop TS complaining

* Rework cy-contains jquery expression

* Add comments, make ts happy

* Fix one test, review feedback

* Review updates

* Fix additional tests

* Fix accidental deletion of vital code

* One more try at getting logs right

* Fix race condition in cross-origin .contains

* Add commented out test to ensure .within() works properly with selectors

* Fix for sessions + query subject chaining

* Fix mixing .within() shadow DOM and .contains() in same chainer

* One more attempt at .within + .contains

* Fix rebase commits

* Update many commands to be queries; improve log message around invalid subjects

* Update connectors, location, focused and window commands to queries

* Return noop to a command and not a query (to avoid implicit assertions)

* More test fixes

* Fix test failures

* Fix for weird-ass frontend-component test

* Error message improvements

* Fix for broken system test

* Update withinSubject to use subject chain

* Test clarifications

* Unbreak cypress-testing-library via withinState backwards compatibility

* Typo in last commit

* Improvement for assertion following failed traversal

* WIP adding query support to

* More work on actionability + detached dom

* Fix TS, rename _addQuery to addQuery

* Another try to fix types

* Fix lint

* Fix for bad merge

* Fixes for a couple more tests

* Increase timeout 50ms -> 100ms on certain tests failing in CI

* Switch to new branch of cypress-testing-library

* Update lockfile

* Fix yarn.lock with latest version of forked testing-library

* More test fixes

* Fix TS again

* Increase test assertion timeout so it passes on slow browsers (webkit)

* Apply suggestions from code review

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>

* More review changes

* Fix selectFile tests based on updated error message

* Improve types and type comments for Commands.add

* Undo change to Commands.add types

* Update yarn lockfiles again

* Remove overwriteQuery from Cy12; .focused() now respects passed in timeout

* Update cli/types/cypress.d.ts

Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>

* Restore .uncheck() tests

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>

* Fix for hanging driver test after merge

* Fix for app component test

Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
Co-authored-by: Zach Bloomquist <git@chary.us>
Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
2022-11-14 10:26:05 -06:00
Emily Rohrbough 847929e921 fix: Recovered Error Handling and Session Recovered Errors (#24511) 2022-11-10 09:51:33 -06:00
Emily Rohrbough cff1478393 fix: testIsolation Typescript types (#24603) 2022-11-10 08:11:36 -06:00
Chris Breiding bf2fc3a848 feat: Add domain option to cookie commands (#24471) 2022-11-04 14:32:59 -04:00
Matt Henkes 2f18a8cbd2 fix: remove cypress.server.defaults, cy.server and cy.route (#24411)
* fix: remove server and route commands

* This won't totally pass but it's a step in the right direction.

* Should be down to only two failing tests due to abort.

* fix the alias.<thing> api for intercept to be equivalent to route.

* adjust timeouts to reduce flake, ideally

* skip xhr abort tests

* More clean up

* Increase timeout

* trick next version

* fix unit tests probably

* yeah sure

* Apply suggestions from code review

Co-authored-by: Blue F <blue@cypress.io>

* remove addXhrLog

* Remove more usage of XHR stemming from proxy-logging

* Remove a couple of files that found their way back with the merge from release/12.0.0

* remove more server types

* increase timeouts again to prevent flake

Co-authored-by: Blue F <blue@cypress.io>
Co-authored-by: Zach Bloomquist <git@chary.us>
2022-11-04 08:24:03 -05:00
Bill Glesias 6055af37b0 Merge branch 'develop' of github.com:cypress-io/cypress into release/12.0.0 2022-11-02 10:27:39 -04:00
Emily Rohrbough 928315d23b chore(session): require setup function to use session command (#24312) 2022-10-25 15:16:04 -05:00
Emily Rohrbough 75cce8187c fix(testIsolation): improve the behavior, clarify config options and sync with session command (#24316)
Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2022-10-24 18:05:58 -05:00
Matt Schile 69873ae988 chore: remove experimentalSessionAndOrigin flag (#24340)
BREAKING CHANGE: removed experimentalSessionAndOrigin flag. testIsolation defaults to strict
2022-10-24 08:49:13 -06:00
Chris Breiding 1b29ce74aa feat: Enable requiring cy.origin dependencies with require() and import() (#24294) 2022-10-18 16:52:57 -04:00
Matt Schile 2b557d551a chore: throw error for Cookies.defaults/preserveOnce (#24252)
BREAKING CHANGE: removed Cookies.defaults/preserveOnce, use cy.session instead
2022-10-17 19:20:15 -06:00
GitStart f73aef54b0 fix: clean up inconsistencies in UI between sentence case and title case (#23681)
Co-authored-by: Rachel <Raquel.rudermano@gmail.com>
Co-authored-by: Rachel <rachel@cypress.io>
2022-10-14 12:54:59 -07:00
Emily Rohrbough be73359437 Merge branch 'develop' into cache-sessions 2022-09-23 11:12:14 -05:00
Ryan Duffy acc1050dd2 feat: Add support for optional env key to browser launch options (#23624)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
2022-09-22 16:44:58 -05:00
Emily Rohrbough 77c5ebfeb9 Merge branch 'develop' into cache-sessions 2022-09-22 15:05:28 -05:00
Lachlan Miller 4c647f6d5b feat: allow vite/webpack config to be an async function (#23605)
* vite dev server async fn

* test projects

* update types

* simplify setup

* fix tests

* types

* remove junk file

* update comments

* add more tests

* fix system tests
2022-09-22 14:11:04 +10:00
Emily Rohrbough 37ed973118 okay -- fix all the test (hopefully) 2022-09-21 12:07:04 -05:00
Rachel 070b3c9ba5 fix: relativeFile is now relative to repo root (#23833)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
Co-authored-by: Tim Griesser <tgriesser10@gmail.com>
2022-09-20 13:52:24 -07:00
Chris Breiding c48b80a0df feat: Support dependencies in cy.origin() callback (#23283)
Co-authored-by: Bill Glesias <bglesias@gmail.com>
2022-09-20 14:04:24 -04:00
Emily Rohrbough 9e2c15d23a Merge branch 'develop' into cache-sessions 2022-09-20 08:09:19 -05:00