-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Editor: Refactor PostPublishPanel
tests to @testing-library/react
#43908
Conversation
Size Change: +1.92 kB (0%) Total Size: 1.25 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The refactor in itself looks good! 🚀
although now that the snapshots are showing the actual rendered DOM, there may be a few issues that we'd like to address (see my inline comments). If we were to write these tests with more details assertions (i.e look for a button with a certain label, look for the post title's text etc), those assertions would currently fail. I suspect it's related to the need of mocking the data layer.
I understand that this PR focuses on refactoring to RTL, so feel free to merge it — but we should definitely make a note and iterated on these tests, because they currently offer very little value
What?
We've recently started refactoring
enzyme
tests to@testing-library/react
.This PR refactors the
<PostPublishPanel />
component tests fromenzyme
to@testing-library/react
.Why?
@testing-library/react
provides a better way to write tests for accessible components that is closer to the way the user experiences them.Ideally, we should not be using snapshot tests here, however, the purpose of this PR is not to improve or enrich the tests themselves, but rather to migrate them
@testing-library/react
. Our primary motivation is unblocking the upgrade to React 18.How?
We're straightforwardly replacing
enzyme
tests with@testing-library/react
ones, usingjest-dom
matchers and mocks to avoid testing unrelated implementation details.Testing Instructions
Verify tests pass:
npm run test:unit packages/editor/src/components/post-publish-panel/test/index.js