Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: cypress-io/cypress
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v10.0.3
Choose a base ref
...
head repository: cypress-io/cypress
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v10.1.0
Choose a head ref
  • 20 commits
  • 148 files changed
  • 17 contributors

Commits on Jun 2, 2022

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    1a8491e View commit details

Commits on Jun 6, 2022

  1. Copy the full SHA
    a6fa9d0 View commit details
  2. 3
    Copy the full SHA
    e58ec7a View commit details

Commits on Jun 7, 2022

  1. 3
    Copy the full SHA
    a264373 View commit details
  2. chore: update windows contributing guide to have users set default sh…

    …ell script to command prompt (#22149)
    AtofStryker authored Jun 7, 2022
    3
    Copy the full SHA
    b24a77d View commit details
  3. feat: show better error message if testing type is not configured (#2…

    …2000)
    
    * feat: show better error message if testing type is not configured
    
    * Add tests
    
    * Update tests
    
    * Fix some tests
    
    * Fix some tests
    
    * Fix test
    
    * Fix tests
    
    * Update packages/errors/src/errors.ts
    
    Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
    
    * Update with code review
    
    * Fix test
    
    * Add on link
    
    Co-authored-by: Jennifer Shehane <jennifer@cypress.io>
    estrada9166 and jennifer-shehane authored Jun 7, 2022
    2
    Copy the full SHA
    e5c1f91 View commit details

Commits on Jun 8, 2022

  1. fix: Make spec row clickable across entire width (#22105)

    * fix: Make spec row clickable across entire width
    
    * Move click-sensitive row action wrapper to surround entire row
    * Add styles to highlight spec icon on hocus to match Figma
    * Small text highlight style change to match Figma
    
    * Add missing data-cy selector
    
    * Add tests for row expansion behaviors
    
    * Fix directory row styling issues
    mike-plummer authored Jun 8, 2022
    3
    Copy the full SHA
    0298b97 View commit details
  2. chore: Update Chrome (stable) to 102.0.5005.61 and Chrome (beta) to 1…

    …03.0.5060.33 (#21623)
    
    Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com>
    Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
    3 people authored Jun 8, 2022
    3
    Copy the full SHA
    f9d9d38 View commit details
  3. fix: Remove period in "learn more." button (#21935)

    Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
    sainthkh and mjhenkes authored Jun 8, 2022
    2
    Copy the full SHA
    406a193 View commit details

Commits on Jun 9, 2022

  1. 3
    Copy the full SHA
    fccce5d View commit details
  2. fix: support ESM projects using TypeScript with ts-node/esm (#22118)

    * fix: support ESM projects using TypeScript with ts-node/esm
    
    * better error handling
    
    * fix test
    
    * indentation
    
    * register ts-node via --require hook
    
    * be less aggressive with erroring
    
    * update fix system tests
    
    * remove obsolete test
    
    * handle case of not using typescript
    
    * replicate 9.x behavior for legacy plugins w/ ts-node
    
    * make test project valid and adjust tests accordingly
    
    * use ts-node/esm transpile only
    
    * dummy
    
    * extract util function
    
    * merge in refactor using projectFixtureDirectory
    
    * fix test
    lmiller1990 authored Jun 9, 2022
    3
    Copy the full SHA
    abd986a View commit details
  3. create cross origin serialization explainer to fully explain our seri…

    …alization process (#22101)
    
    * create cross origin serialization explainer to fully explain our serialization process
    
    * Update packages/driver/src/util/serialization/README.md
    
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    
    * Update packages/driver/src/util/serialization/README.md
    
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    
    * Update packages/driver/src/util/serialization/README.md
    
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    
    * Update packages/driver/src/util/serialization/README.md
    
    Co-authored-by: Matt Schile <mschile@gmail.com>
    
    Co-authored-by: Chris Breiding <chrisbreiding@users.noreply.github.com>
    Co-authored-by: Matt Schile <mschile@gmail.com>
    3 people authored Jun 9, 2022
    3
    Copy the full SHA
    9b965c5 View commit details

Commits on Jun 10, 2022

  1. chore: Update Volar identifier for VSCode Marketplace (#22189)

    * Update Volar identifier for VSCode Marketplace
    
    * chore: Update Volar identifier for VSCode Marketplace
    
    Co-authored-by: Zach Bloomquist <git@chary.us>
    Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
    3 people authored Jun 10, 2022
    3
    Copy the full SHA
    7a0baf9 View commit details
  2. fix: AUT URL in runner header links to application URL (#22171)

    * Add failing test
    
    * Update AUT URL display to link
    
    * fix: Fix header AUT URL truncation
    
    * fix: Adjust line height so that lower-hanging characters don't get cut off
    astone123 authored Jun 10, 2022
    3
    Copy the full SHA
    85f002f View commit details
  3. fix: windows (#22234)

    ryanthemanuel authored Jun 10, 2022
    3
    Copy the full SHA
    600daef View commit details
  4. fix: properly run multiple specs in run and headed mode on linux and …

    …windows in chrome (#22168)
    
    * fix: properly run multiple specs in run and headed mode on linux and windows
    
    * fix: properly run multiple specs in run and headed mode on linux and windows
    
    * Update test
    
    * Update test
    
    * Fix issue with running headed in linux and windows
    
    * Improve test
    
    * Update packages/server/lib/browsers/browser-cri-client.ts
    
    * PR comments
    
    * PR comments
    
    * Fix test failure due to refactor
    
    Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com>
    Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
    3 people authored Jun 10, 2022
    3
    Copy the full SHA
    203758f View commit details
  5. fix: restart Cypress server and browser on baseUrl change (#22154)

    * fix: restart server on baseUrl change
    
    * Rework how baseUrl works
    
    * Refactor how we determine if we should ping the base url
    
    * Fix test
    
    * Update packages/launchpad/cypress/e2e/choose-a-browser.cy.ts
    
    * Update packages/launchpad/cypress/e2e/choose-a-browser.cy.ts
    
    Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
    ryanthemanuel and mjhenkes authored Jun 10, 2022
    3
    Copy the full SHA
    1e61923 View commit details
  6. fix: Don't include project path with supportFile glob (#22222)

    * fix: Don't glob project path in supportFile lookup
    
    * Updating unit tests around supportFile 'isFolder'
    
    * Adding unit test to validate the projectRoot isn't globbed
    
    * Adding system test to validate successful run
    
    * This is more accurate
    
    * Updating snapshot to reflect now missing absolute path from the supportFile value
    
    * Adding e2 launchpad test
    
    Co-authored-by: Matt Henkes <mjhenkes@gmail.com>
    tbiethman and mjhenkes authored Jun 10, 2022
    2
    Copy the full SHA
    f8f2418 View commit details
  7. 4
    Copy the full SHA
    72e6b88 View commit details
  8. 3
    Copy the full SHA
    6c9894b View commit details
Showing with 994 additions and 346 deletions.
  1. +1 −1 .vscode/extensions.json
  2. +2 −2 CONTRIBUTING.md
  3. +2 −2 browser-versions.json
  4. +13 −11 circle.yml
  5. +1 −1 package.json
  6. +22 −0 packages/app/cypress/e2e/cypress-in-cypress.cy.ts
  7. +6 −0 packages/app/cypress/e2e/subscriptions/authChange-subscription.cy.ts
  8. +1 −0 packages/app/cypress/e2e/top-nav.cy.ts
  9. +1 −3 packages/app/package.json
  10. +35 −0 packages/app/src/runner/SpecRunnerHeaderOpenMode.cy.tsx
  11. +9 −5 packages/app/src/runner/SpecRunnerHeaderOpenMode.vue
  12. +2 −3 packages/app/src/runner/aut-iframe.ts
  13. +1 −1 packages/app/src/runner/selector-playground/SelectorPlayground.cy.tsx
  14. +1 −1 packages/app/src/runner/selector-playground/SelectorPlayground.vue
  15. +1 −1 packages/app/src/specs/RowDirectory.vue
  16. +2 −2 packages/app/src/specs/SpecItem.vue
  17. +11 −22 packages/app/src/specs/SpecsList.vue
  18. +53 −0 packages/app/src/specs/SpecsListRowItem.cy.tsx
  19. +36 −11 packages/app/src/specs/SpecsListRowItem.vue
  20. +4 −0 packages/app/src/store/selector-playground-store.ts
  21. +0 −1 packages/config/src/browser.ts
  22. +3 −4 packages/config/src/options.ts
  23. +20 −0 packages/data-context/src/actions/MigrationActions.ts
  24. +59 −1 packages/data-context/src/data/ProjectConfigIpc.ts
  25. +11 −4 packages/data-context/src/data/ProjectConfigManager.ts
  26. +9 −9 packages/data-context/src/data/ProjectLifecycleManager.ts
  27. +9 −0 packages/data-context/src/util/hasTypescript.ts
  28. +1 −0 packages/data-context/src/util/index.ts
  29. +18 −0 packages/data-context/test/unit/util/hasTypescript.spec.ts
  30. +2 −0 packages/driver/cross-origin-testing.md
  31. +96 −0 packages/driver/src/util/serialization/README.md
  32. +1 −13 packages/driver/src/util/serialization/index.ts
  33. +43 −0 packages/errors/__snapshot-html__/TESTING_TYPE_NOT_CONFIGURED.html
  34. +10 −0 packages/errors/src/errors.ts
  35. +5 −0 packages/errors/test/unit/visualSnapshotErrors_spec.ts
  36. +5 −3 packages/extension/app/background.js
  37. +6 −2 packages/extension/test/integration/background_spec.js
  38. +1 −1 packages/frontend-shared/README.md
  39. +1 −0 packages/frontend-shared/src/locales/en-US.json
  40. +1 −0 packages/graphql/schemas/schema.graphql
  41. +1 −1 packages/launchpad/README.md
  42. +6 −2 packages/launchpad/cypress/e2e/choose-a-browser.cy.ts
  43. +1 −1 packages/launchpad/cypress/e2e/config-files-error-handling.cy.ts
  44. +1 −1 packages/launchpad/cypress/e2e/error-handling.cy.ts
  45. +12 −0 packages/launchpad/cypress/e2e/open-mode.cy.ts
  46. +1 −1 packages/launchpad/cypress/e2e/project-setup.cy.ts
  47. +1 −0 packages/launchpad/cypress/e2e/slow-network.cy.ts
  48. +1 −4 packages/launchpad/package.json
  49. +1 −1 packages/launchpad/src/components/code/FileRow.vue
  50. +14 −18 packages/server/lib/browsers/browser-cri-client.ts
  51. +3 −3 packages/server/lib/browsers/cdp_automation.ts
  52. +6 −6 packages/server/lib/browsers/chrome.ts
  53. +2 −2 packages/server/lib/browsers/firefox-util.ts
  54. +1 −1 packages/server/lib/config.ts
  55. +8 −7 packages/server/lib/modes/run.js
  56. +2 −2 packages/server/lib/open_project.ts
  57. +16 −0 packages/server/lib/plugins/child/register_ts_node.js
  58. +11 −34 packages/server/lib/plugins/child/run_require_async_child.js
  59. +2 −2 packages/server/lib/project-base.ts
  60. +6 −6 packages/server/lib/socket-base.ts
  61. +24 −15 packages/server/test/unit/browsers/browser-cri-client_spec.ts
  62. +3 −3 packages/server/test/unit/browsers/cdp_automation_spec.ts
  63. +1 −2 packages/server/test/unit/browsers/chrome_spec.js
  64. +1 −1 packages/server/test/unit/browsers/electron_spec.js
  65. +20 −2 packages/server/test/unit/config_spec.js
  66. +0 −24 packages/server/test/unit/plugins/child/run_require_async_child_spec.js
  67. +59 −0 system-tests/__snapshots__/config_spec.js
  68. +1 −1 system-tests/__snapshots__/multiple_support_files_spec.js
  69. +19 −0 system-tests/__snapshots__/testing_type_not_configured_error_spec.ts.js
  70. 0 ...jects/config-cjs-and-esm/config-with-cjs → project-fixtures/simple_passing}/cypress/e2e/app.cy.js
  71. 0 ...cts/config-cjs-and-esm/config-with-cjs-tsconfig-es5 → project-fixtures/simple_passing}/src/foo.ts
  72. +3 −1 system-tests/projects/busted-support-file/cypress.config.js
  73. +0 −7 system-tests/projects/config-cjs-and-esm/config-with-cjs-tsconfig-es5/cypress/e2e/app.cy.js
  74. +6 −0 system-tests/projects/config-cjs-and-esm/config-with-cjs-tsconfig-es5/package.json
  75. +8 −0 system-tests/projects/config-cjs-and-esm/config-with-cjs-tsconfig-es5/yarn.lock
  76. +3 −0 system-tests/projects/config-cjs-and-esm/config-with-cjs/package.json
  77. +4 −0 system-tests/projects/config-cjs-and-esm/config-with-cjs/yarn.lock
  78. +0 −3 system-tests/projects/config-cjs-and-esm/config-with-js-module/cypress/e2e/app.cy.js
  79. +2 −1 system-tests/projects/config-cjs-and-esm/config-with-js-module/package.json
  80. +4 −0 system-tests/projects/config-cjs-and-esm/config-with-js-module/yarn.lock
  81. +0 −7 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es2015/cypress/e2e/app.cy.js
  82. +6 −0 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es2015/package.json
  83. +0 −1 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es2015/src/foo.ts
  84. +8 −0 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es2015/yarn.lock
  85. +0 −7 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es3/cypress/e2e/app.cy.js
  86. +6 −0 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es3/package.json
  87. +0 −1 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es3/src/foo.ts
  88. +8 −0 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es3/yarn.lock
  89. +0 −7 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es5/cypress/e2e/app.cy.js
  90. +6 −0 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es5/package.json
  91. +0 −1 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es5/src/foo.ts
  92. +8 −0 system-tests/projects/config-cjs-and-esm/config-with-js-tsconfig-es5/yarn.lock
  93. +0 −7 system-tests/projects/config-cjs-and-esm/config-with-mjs-tsconfig-es5/cypress/e2e/app.cy.js
  94. +6 −0 system-tests/projects/config-cjs-and-esm/config-with-mjs-tsconfig-es5/package.json
  95. +0 −1 system-tests/projects/config-cjs-and-esm/config-with-mjs-tsconfig-es5/src/foo.ts
  96. +0 −1 system-tests/projects/config-cjs-and-esm/config-with-mjs-tsconfig-es5/tsconfig.json
  97. +8 −0 system-tests/projects/config-cjs-and-esm/config-with-mjs-tsconfig-es5/yarn.lock
  98. +3 −0 system-tests/projects/config-cjs-and-esm/config-with-mjs/package.json
  99. +4 −0 system-tests/projects/config-cjs-and-esm/config-with-mjs/yarn.lock
  100. +0 −3 system-tests/projects/config-cjs-and-esm/config-with-ts-module-and-esbuild/cypress/e2e/app.cy.js
  101. +4 −2 system-tests/projects/config-cjs-and-esm/config-with-ts-module-and-esbuild/package.json
  102. +7 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module-and-esbuild/tsconfig.json
  103. +5 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module-and-esbuild/yarn.lock
  104. +1 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module-component/cypress.config.ts
  105. +3 −1 system-tests/projects/config-cjs-and-esm/config-with-ts-module-component/package.json
  106. +0 −3 system-tests/projects/config-cjs-and-esm/config-with-ts-module-component/src/app.cy.js
  107. +7 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module-component/tsconfig.json
  108. +5 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module-component/yarn.lock
  109. +0 −3 system-tests/projects/config-cjs-and-esm/config-with-ts-module/cypress/e2e/app.cy.js
  110. +4 −2 system-tests/projects/config-cjs-and-esm/config-with-ts-module/package.json
  111. +7 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module/tsconfig.json
  112. +5 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-module/yarn.lock
  113. +0 −7 system-tests/projects/config-cjs-and-esm/config-with-ts-tsconfig-es5/cypress/e2e/app.cy.js
  114. +6 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-tsconfig-es5/package.json
  115. +0 −1 system-tests/projects/config-cjs-and-esm/config-with-ts-tsconfig-es5/src/foo.ts
  116. +8 −0 system-tests/projects/config-cjs-and-esm/config-with-ts-tsconfig-es5/yarn.lock
  117. +7 −0 system-tests/projects/config-cjs-and-esm/ts-cjs-with-invalid-esm-only-import/package.json
  118. +4 −0 system-tests/projects/invalid-root-level-config/invalid-component-baseUrl-config.js
  119. +4 −0 ...tests/projects/invalid-root-level-config/invalid-component-experimentalSessionAndOrigin-config.js
  120. 0 system-tests/projects/missing-vite-config/{cypress.config.js → cypress.config.ts}
  121. +1 −0 system-tests/projects/missing-vite-config/package.json
  122. +5 −0 system-tests/projects/missing-vite-config/yarn.lock
  123. +3 −1 system-tests/projects/multiple-support-files/cypress.config.js
  124. +3 −0 system-tests/projects/project-with-(glob)-[chars]/cypress.config.js
  125. +1 −1 ...projects/{config-cjs-and-esm/config-with-mjs → project-with-(glob)-[chars]}/cypress/e2e/app.cy.js
  126. 0 system-tests/projects/project-with-(glob)-[chars]/cypress/support/e2e.js
  127. +3 −1 system-tests/projects/ts-proj-4-5/cypress.config.ts
  128. +3 −1 system-tests/projects/ts-proj/cypress.config.ts
  129. +3 −1 system-tests/projects/uncaught-support-file/cypress.config.js
  130. +1 −1 system-tests/projects/vue3-vite-ts-configured/.vscode/extensions.json
  131. +1 −1 system-tests/projects/vue3-vite-ts-configured/README.md
  132. +1 −1 system-tests/projects/vue3-vite-ts-custom-index-html/.vscode/extensions.json
  133. +1 −1 system-tests/projects/vue3-vite-ts-custom-index-html/README.md
  134. +1 −1 system-tests/projects/vue3-vite-ts-unconfigured/.vscode/extensions.json
  135. +1 −1 system-tests/projects/vue3-vite-ts-unconfigured/README.md
  136. +7 −24 system-tests/test/config_modules_spec.ts
  137. +9 −0 system-tests/test/config_spec.js
  138. +2 −0 system-tests/test/cookies_spec.ts
  139. +1 −0 system-tests/test/cy_origin_error_spec.ts
  140. +1 −0 system-tests/test/cy_origin_retries_spec.ts
  141. +2 −0 system-tests/test/form_submissions_spec.js
  142. +19 −0 system-tests/test/headed_spec.ts
  143. +1 −0 system-tests/test/session_spec.ts
  144. +1 −0 system-tests/test/stdout_spec.js
  145. +19 −0 system-tests/test/testing_type_not_configured_error_spec.ts
  146. +1 −0 system-tests/test/viewport_spec.js
  147. +3 −0 system-tests/test/visit_spec.js
  148. +1 −0 system-tests/test/web_security_spec.js
2 changes: 1 addition & 1 deletion .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@

// Name: Volar
// Description: Language server for Vue. Required for any syntax highlighting in Vue files.
"johnsoncodehk.volar",
"vue.volar",

// Name: Code Spell Checker
// Description: Add spell-checking help to your code.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -310,9 +310,9 @@ The project utilizes [yarn workspaces](https://yarnpkg.com/lang/en/docs/workspac

> **⚠ Running on Windows?**
>
> Many of the NPM scripts used during development use commands designed for a Linux-like shell.If you are running a Windows operating system, you may encounter many commands that are not working. To fix this behavior, you have to set a Linux-like shell as the default `npm` script shell. If you have Git for Windows installed, you can set Git Bash as the default script shell by using the following command:
> If you are running a Windows operating system, you may encounter some commands that are not working. In order to resolve paths correctly during the development build process, you may need to explicitly set your default `yarn` shell script to Command Prompt by using the following command:
>```bash
> yarn config set script-shell "C:\\Program Files\\git\\bin\\bash.exe"
> yarn config set script-shell "C:\\Windows\\system32\\cmd.exe"
>```
**Install all dependencies:**
4 changes: 2 additions & 2 deletions browser-versions.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"chrome:beta": "102.0.5005.61",
"chrome:stable": "101.0.4951.64"
"chrome:beta": "103.0.5060.33",
"chrome:stable": "102.0.5005.61"
}
24 changes: 13 additions & 11 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -98,7 +98,7 @@ executors:
machine:
image: windows-server-2019-vs2019:stable
shell: bash.exe -eo pipefail
resource_class: windows.medium
resource_class: windows.xlarge
environment:
PLATFORM: windows

@@ -835,7 +835,7 @@ commands:
command: |
if [[ -f cypress.json ]]; then
rm -rf cypress.json
echo 'module.exports = {}' > cypress.config.js
echo 'module.exports = { e2e: {} }' > cypress.config.js
fi
- run:
name: Rename support file
@@ -1080,8 +1080,10 @@ jobs:
name: Top level packages
command: yarn list --depth=0 || true
- run:
name: Check env canaries
command: node ./scripts/circle-env.js --check-canaries
name: Check env canaries on Mac/Linux
command: |
# Windows CircleCI does not have a way to pull per-job env
[[ $PLATFORM != 'windows' ]] && node ./scripts/circle-env.js --check-canaries || true
- build-and-persist
- store-npm-logs

@@ -2211,7 +2213,7 @@ jobs:
CYPRESS_INTERNAL_FORCE_SCAFFOLD: "1"
command: |
rm -rf cypress.json
echo 'module.exports = {}' > cypress.config.js
echo 'module.exports = { e2e: {} }' > cypress.config.js
- run:
name: Rename support file
working_directory: test-binary
@@ -2579,29 +2581,29 @@ windows-workflow: &windows-workflow
- node_modules_install:
name: windows-node-modules-install
executor: windows
resource_class: windows.medium
resource_class: windows.xlarge
only-cache-for-root-user: true

- build:
name: windows-build
context: test-runner:env-canary
executor: windows
resource_class: windows.medium
resource_class: windows.xlarge
requires:
- windows-node-modules-install

- run-app-integration-tests-chrome:
name: windows-run-app-integration-tests-chrome
executor: windows
resource_class: windows.medium
resource_class: windows.xlarge
context: test-runner:launchpad-tests
requires:
- windows-build

- run-launchpad-integration-tests-chrome:
name: windows-run-launchpad-integration-tests-chrome
executor: windows
resource_class: windows.medium
resource_class: windows.xlarge
context: test-runner:launchpad-tests
requires:
- windows-build
@@ -2617,15 +2619,15 @@ windows-workflow: &windows-workflow
<<: *full-windows-workflow-filters
name: windows-unit-tests
executor: windows
resource_class: windows.medium
resource_class: windows.xlarge
requires:
- windows-build

- create-build-artifacts:
<<: *full-windows-workflow-filters
name: windows-create-build-artifacts
executor: windows
resource_class: windows.medium
resource_class: windows.xlarge
context:
- test-runner:sign-windows-binary
- test-runner:upload
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cypress",
"version": "10.0.3",
"version": "10.1.0",
"description": "Cypress.io end to end testing tool",
"private": true,
"scripts": {
22 changes: 22 additions & 0 deletions packages/app/cypress/e2e/cypress-in-cypress.cy.ts
Original file line number Diff line number Diff line change
@@ -305,4 +305,26 @@ describe('Cypress in Cypress', { viewportWidth: 1500, defaultCommandTimeout: 100
expect(ctx.actions.project.initializeActiveProject).to.be.called
})
})

it('restarts server if baseUrl is updated in the config file', () => {
startAtSpecsPage('e2e')
cy.get('[data-cy="spec-item"]')

cy.withCtx((ctx, o) => {
ctx.coreData.app.browserStatus = 'open'
o.sinon.stub(ctx.actions.project, 'initializeActiveProject')

let config = ctx.actions.file.readFileInProject('cypress.config.js')

config = config.replace(` e2e: {`, ` e2e: {\n baseUrl: 'https://example.cypress.io',\n`)
ctx.actions.file.writeFileInProject('cypress.config.js', config)
})

cy.get('[data-cy="loading-spinner"]').should('be.visible')
cy.contains('[role="alert"]', 'Loading')

cy.withRetryableCtx((ctx) => {
expect(ctx.actions.project.initializeActiveProject).to.be.called
})
})
})
Original file line number Diff line number Diff line change
@@ -31,6 +31,7 @@ describe('authChange subscription', () => {

it('responds to authChange subscription for login', () => {
cy.contains('Log In')
cy.wait(500)
cy.withCtx(async (ctx) => {
await ctx.actions.auth.login()
})
@@ -42,6 +43,7 @@ describe('authChange subscription', () => {
setActiveUser()
cy.reload() // Reload to show the latest state
cy.contains('Test User')
cy.wait(500)
cy.withCtx(async (ctx) => {
await ctx.actions.auth.logout()
})
@@ -58,6 +60,7 @@ describe('authChange subscription', () => {

it('responds to authChange subscription for login', () => {
cy.contains('Log In')
cy.wait(500)
cy.withCtx(async (ctx) => {
await ctx.actions.auth.login()
})
@@ -69,6 +72,7 @@ describe('authChange subscription', () => {
setActiveUser()
cy.reload() // Reload to show the latest state
cy.contains('Test User')
cy.wait(500)
cy.withCtx(async (ctx) => {
await ctx.actions.auth.logout()
})
@@ -84,6 +88,7 @@ describe('authChange subscription', () => {

it('responds to authChange subscription for login', () => {
cy.contains('Log In')
cy.wait(500)
cy.withCtx(async (ctx) => {
await ctx.actions.auth.login()
})
@@ -95,6 +100,7 @@ describe('authChange subscription', () => {
setActiveUser()
cy.visitLaunchpad()
cy.contains('Test User')
cy.wait(500)
cy.withCtx(async (ctx) => {
await ctx.actions.auth.logout()
})
1 change: 1 addition & 0 deletions packages/app/cypress/e2e/top-nav.cy.ts
Original file line number Diff line number Diff line change
@@ -226,6 +226,7 @@ describe('App Top Nav Workflows', () => {
const oldFetch = ctx.util.fetch

o.sinon.stub(ctx.util, 'fetch').callsFake(async (url: RequestInfo | URL, init?: RequestInit) => {
await new Promise((resolve) => setTimeout(resolve, 500))
if (['https://download.cypress.io/desktop.json', 'https://registry.npmjs.org/cypress'].includes(String(url))) {
throw new Error(String(url))
}
4 changes: 1 addition & 3 deletions packages/app/package.json
Original file line number Diff line number Diff line change
@@ -73,9 +73,7 @@
"wonka": "^4.0.15"
},
"files": [
"dist",
"lib",
"src"
"dist"
],
"vite": {
"optimizeDeps": {
35 changes: 35 additions & 0 deletions packages/app/src/runner/SpecRunnerHeaderOpenMode.cy.tsx
Original file line number Diff line number Diff line change
@@ -109,6 +109,25 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => {
cy.percySnapshot()
})

it('links to aut url', () => {
const autStore = useAutStore()
const url = 'http://localhost:3000/todo'

autStore.updateUrl(url)

cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
onResult: (gql) => {
gql.currentTestingType = 'e2e'
},
render: (gqlVal) => {
return renderWithGql(gqlVal)
},
})

cy.contains(url).should('exist').should('have.attr', 'href', url)
cy.percySnapshot()
})

it('does not show url section if currentTestingType is component', () => {
const autStore = useAutStore()

@@ -208,4 +227,20 @@ describe('SpecRunnerHeaderOpenMode', { viewportHeight: 500 }, () => {
cy.get('[data-cy="select-browser"] > button').should('be.disabled')
cy.percySnapshot()
})

it('opens and closes selector playground', () => {
cy.mountFragment(SpecRunnerHeaderFragmentDoc, {
render: (gqlVal) => {
return renderWithGql(gqlVal)
},
})

cy.get('[data-cy="playground-activator"]').click()
cy.get('#selector-playground').should('be.visible')

cy.percySnapshot()

cy.get('[data-cy="playground-activator"]').click()
cy.get('#selector-playground').should('not.exist')
})
})
14 changes: 9 additions & 5 deletions packages/app/src/runner/SpecRunnerHeaderOpenMode.vue
Original file line number Diff line number Diff line change
@@ -21,11 +21,15 @@
:aria-label="t('runner.selectorPlayground.toggle')"
@click="togglePlayground"
>
<i-cy-crosshairs_x16 class="icon-dark-gray-600" />
<i-cy-crosshairs_x16 :class="[selectorPlaygroundStore.show ? 'icon-dark-indigo-500' : 'icon-dark-gray-500']" />
</Button>
<div class="mr-12px max-w-100% grid text-gray-600 items-center truncate">
<a
target="_blank"
:href="autStore.url"
class="mr-12px leading-normal max-w-100% text-indigo-500 self-center hocus-link-default truncate"
>
{{ autStore.url }}
</div>
</a>
</div>
<div
v-else
@@ -34,12 +38,12 @@
<Button
data-cy="playground-activator"
:disabled="isDisabled"
class="border-gray-100 mr-12px"
class="border-gray-100 mr-12px"
variant="outline"
:aria-label="t('runner.selectorPlayground.toggle')"
@click="togglePlayground"
>
<i-cy-crosshairs_x16 class="icon-dark-gray-600" />
<i-cy-crosshairs_x16 :class="[selectorPlaygroundStore.show ? 'icon-dark-indigo-500' : 'icon-dark-gray-500']" />
</Button>
</div>
<SpecRunnerDropdown
5 changes: 2 additions & 3 deletions packages/app/src/runner/aut-iframe.ts
Original file line number Diff line number Diff line change
@@ -462,17 +462,16 @@ export class AutIframe {
const $el = this.getElements(Cypress.dom)

const selectorPlaygroundStore = useSelectorPlaygroundStore()
const command = `cy.${selectorPlaygroundStore.method}('${selectorPlaygroundStore.selector}')`

if (!$el) {
return logger.logFormatted({
Command: command,
Command: selectorPlaygroundStore.command,
Yielded: 'Nothing',
})
}

logger.logFormatted({
Command: command,
Command: selectorPlaygroundStore.command,
Elements: $el.length,
Yielded: Cypress.dom.getElements($el),
})
Original file line number Diff line number Diff line change
@@ -117,7 +117,7 @@ describe('SelectorPlayground', () => {
cy.get('[data-cy="selector-playground-tooltip"]').should('be.visible').contains('Copied!')
cy.percySnapshot('Copy to clipboard click tooltip')

cy.wrap(copyStub).should('have.been.calledWith', '.foo-bar')
cy.wrap(copyStub).should('have.been.calledWith', 'cy.get(\'.foo-bar\')')
})

it('prints elements when selected elements found', () => {
Original file line number Diff line number Diff line change
@@ -223,7 +223,7 @@ function printSelected () {
const { copy } = useClipboard({ copiedDuring: 2000 })
const copyToClipboard = () => {
copy(selector.value)
copy(selectorPlaygroundStore.command)
}
</script>

2 changes: 1 addition & 1 deletion packages/app/src/specs/RowDirectory.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<template>
<button
class="h-full grid gap-8px grid-cols-[14px,16px,auto] items-center focus:outline-transparent"
class="h-full grid gap-8px grid-cols-[14px,16px,auto] items-center focus:outline-none"
:data-cy="`row-directory-depth-${depth}`"
:aria-expanded="expanded"
>
4 changes: 2 additions & 2 deletions packages/app/src/specs/SpecItem.vue
Original file line number Diff line number Diff line change
@@ -4,14 +4,14 @@
data-cy="spec-item"
>
<i-cy-document-blank_x16
class="icon-light-gray-50 icon-dark-gray-200"
class="icon-light-gray-50 icon-dark-gray-200 group-hocus:icon-light-indigo-200 group-hocus:icon-dark-indigo-400"
/>

<div class="text-gray-400 text-indigo-500 group-hocus:text-indigo-600">
<HighlightedText
:text="fileName"
:indexes="indexes.filter((idx) => idx < fileName.length)"
class="font-medium text-indigo-500 group-hocus:text-indigo-600"
class="font-medium text-indigo-500 group-hocus:text-indigo-700"
highlight-classes="text-gray-1000"
/>
<HighlightedText
Loading