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

ColorPicker: Add tests for ColorPicker Alpha slider #69203

Open
wants to merge 3 commits into
base: trunk
Choose a base branch
from

Conversation

im3dabasia
Copy link
Contributor

What?

Closes #49344
Related comment: #49214 (comment)

Related PRs: #49214, #49698

This PR improves the unit tests for the ColorPicker component by adding test coverage for the Alpha slider and its corresponding input field when enableAlpha. Previously, tests covered most input fields (hex, HSL, RGB, and hue slider), but the Alpha slider had no dedicated tests.

Why?

The maintainers have emphasized that these tests are important for the editor. While previous tests validated various input interactions, they did not:

  • Ensure that the Alpha slider updates correctly when the input field is changed.
  • Cover enableAlpha={true}, leaving a gap in test coverage.

How?

  • Added tests to check that the Alpha slider updates when the user types in the Alpha input field and when adjusting the slider.
  • Verified that the correct RGBA/HSLA values are passed to onChange when changing transparency via both the input field and the slider.
  • Used user-event for more accurate simulation of real user interactions.

Testing Instructions

  1. Run the test by the following command:
npm run test:unit packages/components/src/color-picker/test/index.tsx
  1. Check that the new test cases for the Alpha slider and input field pass.
  2. Confirm that the test verifies the expected value in onChange when modifying alpha.
  3. Review the test implementation to ensure coverage of both slider and input interactions.

Screenshot

image

@im3dabasia im3dabasia marked this pull request as ready for review February 14, 2025 16:17
Copy link

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core, Gutenberg Plugin.
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

Copy link

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: im3dabasia <[email protected]>
Co-authored-by: ciampo <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ColorPicker: improve unit tests
1 participant