Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test: Upgrade @testing-library/dom to v10 #27229

Closed

Conversation

tnyo43
Copy link

@tnyo43 tnyo43 commented May 22, 2024

Closes #27173

What I did

One of the possible solutions of #27173 is simply allow to use @testing-library/dom@10 as a dependency of @storybook/test.

  • update the dependencies to the @testing-library/dom from "^9.3.4" to "^9.3.4 | | ^10.0.0"
    • also run yarn i to update yarn.lock

Checklist for Contributors

Testing

The changes in this PR are covered in the following automated tests:

  • stories
  • unit tests
  • integration tests
  • end-to-end tests

Manual testing

This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!

Documentation

  • [N/A] Add or update documentation reflecting your changes
  • [N/A] If you are deprecating/removing a feature, make sure to update
    MIGRATION.MD

Checklist for Maintainers

  • When this PR is ready for testing, make sure to add ci:normal, ci:merged or ci:daily GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found in code/lib/cli/src/sandbox-templates.ts

  • Make sure this PR contains one of the labels below:

    Available labels
    • bug: Internal changes that fixes incorrect behavior.
    • maintenance: User-facing maintenance tasks.
    • dependencies: Upgrading (sometimes downgrading) dependencies.
    • build: Internal-facing build tooling & test updates. Will not show up in release changelog.
    • cleanup: Minor cleanup style change. Will not show up in release changelog.
    • documentation: Documentation only changes. Will not show up in release changelog.
    • feature request: Introducing a new feature.
    • BREAKING CHANGE: Changes that break compatibility in some way with current major version.
    • other: Changes that don't fit in the above categories.

🦋 Canary release

This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the @storybookjs/core team here.

core team members can create a canary release here or locally with gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>

@tnyo43 tnyo43 force-pushed the allow-testing-library-dom-10-in-test branch from 1e1ed79 to 3842bda Compare May 22, 2024 14:44
@tnyo43 tnyo43 marked this pull request as ready for review May 22, 2024 14:57
@shilman
Copy link
Member

shilman commented May 25, 2024

Unfortunately this is a breaking change since we re-export the interfaces from @testing-library/dom. We won't be able to merge this until Storybook 9.0.

@kasperpeulen
Copy link
Contributor

kasperpeulen commented May 26, 2024

I wonder if we could still do this @shilman as the breaking changes are:
https://github.com/testing-library/dom-testing-library/releases/tag/v10.0.0

* Minimum supported Node.js version is 18.0
* New version of aria-query changes various roles. Check out the changed tests in https://github.com/testing-library/dom-testing-library/commit/2c570553d8f31b008451398152a9bd30bce362b3 to get an overview about what changed.

But we don't run aria-query in Node, only in the browser.
What exactly has changed in aria-query is a bit dusty to me, also from the mentioned commit.

Aria query was updated from 5.1.3 to 5.3.0 so it seems like not a breaking change, but I guess some bugs in the aria spec might have been fixed, such as that getByRole('combobox') will not get a select element if it has a multiple attribute etc.

We might get away as seeing this as bug fix and not a breaking change? Although technically it is?

Also we have used aria-query 5.3.0 already in 7.0 and 8.0, as testing-library/jest-dom uses it, but we deduped aria-query in this PR:
#26411

"@testing-library/jest-dom/aria-query": "5.1.3",

And we didn't get any complaints, so my feeling is that those role differences are really edge cases

@shilman shilman changed the title fix(test): allow @testing-library/dom@10 as a dependency Test: Upgrade @testing-library/dom to 10 May 26, 2024
@shilman shilman changed the title Test: Upgrade @testing-library/dom to 10 Test: Upgrade @testing-library/dom to v10 May 26, 2024
@shilman
Copy link
Member

shilman commented May 26, 2024

@kasperpeulen If you think it's safe, or that the breaking changes are minor corner cases only, we can merge this and release it in 8.2-alpha. If we get any complaints we can roll back the change before the 8.2 final release.

Copy link

nx-cloud bot commented May 26, 2024

☁️ Nx Cloud Report

CI is running/has finished running commands for commit 3842bda. As they complete they will appear below. Click to see the status, the terminal output, and the build insights.

📂 See all runs for this CI Pipeline Execution


✅ Successfully ran 1 target

Sent with 💌 from NxCloud.

@kasperpeulen
Copy link
Contributor

@shilman That sounds good to me. I think we can justify it as as a bug. Some @storybook/test queries where not always fully a11y spec compliant.

@kasperpeulen
Copy link
Contributor

@tnyo43 I made a new PR upgrading some other deps as well. Thanks for raising this issue though!
#27862

@tnyo43 tnyo43 deleted the allow-testing-library-dom-10-in-test branch June 7, 2024 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants