-
Notifications
You must be signed in to change notification settings - Fork 273
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
feat: toBeVisible
matcher
#1465
feat: toBeVisible
matcher
#1465
Conversation
0be677c
to
9491458
Compare
Rebased on main, solved TS def issue. |
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #1465 +/- ##
==========================================
+ Coverage 97.71% 97.75% +0.03%
==========================================
Files 79 80 +1
Lines 4640 4722 +82
Branches 675 696 +21
==========================================
+ Hits 4534 4616 +82
Misses 106 106
☔ View full report in Codecov by Sentry. |
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.
Good job @thiagobrez. I've rebased the PR to main and made some minor comments.
@mdjastrzebski Comments addressed! |
c2e8d6b
to
dae1a38
Compare
Rebased on main |
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.
Looks good! Let's 🚢
🎉 Release in version: v12.4.0 |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@testing-library/jest-native](https://togithub.com/testing-library/jest-native) | [`^5.4.2` -> `^5.4.3`](https://renovatebot.com/diffs/npm/@testing-library%2fjest-native/5.4.2/5.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2fjest-native/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2fjest-native/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2fjest-native/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2fjest-native/5.4.2/5.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@testing-library/react-native](https://callstack.github.io/react-native-testing-library) ([source](https://togithub.com/callstack/react-native-testing-library)) | [`^12.2.2` -> `^12.4.3`](https://renovatebot.com/diffs/npm/@testing-library%2freact-native/12.2.2/12.4.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@testing-library%2freact-native/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@testing-library%2freact-native/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@testing-library%2freact-native/12.2.2/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@testing-library%2freact-native/12.2.2/12.4.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>testing-library/jest-native (@​testing-library/jest-native)</summary> ### [`v5.4.3`](https://togithub.com/testing-library/jest-native/compare/v5.4.2...v5.4.3) [Compare Source](https://togithub.com/testing-library/jest-native/compare/v5.4.2...v5.4.3) </details> <details> <summary>callstack/react-native-testing-library (@​testing-library/react-native)</summary> ### [`v12.4.3`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.4.3) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.4.2...v12.4.3) #### Other - docs: jsdoc for Jest matchers by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1548](https://togithub.com/callstack/react-native-testing-library/pull/1548) **Full Changelog**: callstack/react-native-testing-library@v12.4.2...v12.4.3 ### [`v12.4.2`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.4.2) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.4.1...v12.4.2) #### What's Changed ##### Improvements - feat: add option to pass `contentSize` and `layoutMeasurement` when calling `scrollTo` by [@​j-piasecki](https://togithub.com/j-piasecki) in [https://github.com/callstack/react-native-testing-library/pull/1543](https://togithub.com/callstack/react-native-testing-library/pull/1543) ##### Other - chore: remove renovate by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1539](https://togithub.com/callstack/react-native-testing-library/pull/1539) - chore: add release it by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1546](https://togithub.com/callstack/react-native-testing-library/pull/1546) #### New Contributors - [@​j-piasecki](https://togithub.com/j-piasecki) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1543](https://togithub.com/callstack/react-native-testing-library/pull/1543) **Full Changelog**: callstack/react-native-testing-library@v12.4.1...v12.4.2 ### [`v12.4.1`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.4.1) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.4.0...v12.4.1) #### What's Changed ##### New things - RFC/feat: default accessibility roles by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1490](https://togithub.com/callstack/react-native-testing-library/pull/1490) ##### Fixes - chore: fix extend-expect.d.ts types by internalizing them by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1536](https://togithub.com/callstack/react-native-testing-library/pull/1536) - fix: matcher Jest extensions by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1537](https://togithub.com/callstack/react-native-testing-library/pull/1537) - fix: user event add target prop by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1538](https://togithub.com/callstack/react-native-testing-library/pull/1538) ##### Other - chore: update & check example packages by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1528](https://togithub.com/callstack/react-native-testing-library/pull/1528) - docs: spell-check some docs by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1529](https://togithub.com/callstack/react-native-testing-library/pull/1529) - docs: rewrite How should I query? guide by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1531](https://togithub.com/callstack/react-native-testing-library/pull/1531) - docs: remove beta status for User Event by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1532](https://togithub.com/callstack/react-native-testing-library/pull/1532) - chore: deps update 2023-11-27 by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1533](https://togithub.com/callstack/react-native-testing-library/pull/1533) **Full Changelog**: callstack/react-native-testing-library@v12.4.0...v12.4.1 ### [`v12.4.0`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.4.0) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.3.3...v12.4.0) #### What's Changed ### Features - Built-in Jest matchers - [documentation](https://callstack.github.io/react-native-testing-library/docs/jest-matchers) - [migration guide from legacy Jest Native matchers](https://callstack.github.io/react-native-testing-library/docs/migration-jest-native) ### Contributors for this feature 👏👏👏 - `toHaveTextContent` matcher [#​1461](https://togithub.com/callstack/react-native-testing-library/issues/1461) by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) - `toBeEmptyElement` matcher [#​1462](https://togithub.com/callstack/react-native-testing-library/issues/1462) by [@​kyawthura-gg](https://togithub.com/kyawthura-gg) - `toHaveDisplayValue` matcher [#​1463](https://togithub.com/callstack/react-native-testing-library/issues/1463) by [@​jaworek](https://togithub.com/jaworek) & [@​mdjastrzebski](https://togithub.com/mdjastrzebski) - `toBeVisible` matcher [#​1465](https://togithub.com/callstack/react-native-testing-library/issues/1465) by [@​thiagobrez](https://togithub.com/thiagobrez) - `toBeEnabled` & `toBeDisabled` matchers [#​1469](https://togithub.com/callstack/react-native-testing-library/issues/1469) by [@​jaworek](https://togithub.com/jaworek) - `toHaveProp` matcher [#​1477](https://togithub.com/callstack/react-native-testing-library/issues/1477) by [@​AntoineThibi](https://togithub.com/AntoineThibi) - `toBeChecked` & `toBePartiallyChecked` matchers [#​1479](https://togithub.com/callstack/react-native-testing-library/issues/1479) by [@​kyawthura-gg](https://togithub.com/kyawthura-gg) - `toHaveStyle` matcher [#​1487](https://togithub.com/callstack/react-native-testing-library/issues/1487) by [@​marcinkornek](https://togithub.com/marcinkornek) - `toBeSelected` matcher [#​1488](https://togithub.com/callstack/react-native-testing-library/issues/1488) by [@​AntoineThibi](https://togithub.com/AntoineThibi) - `toBeBusy` matcher [#​1493](https://togithub.com/callstack/react-native-testing-library/issues/1493) by [@​hduprat](https://togithub.com/hduprat) - `toContainElement` matcher [#​1495](https://togithub.com/callstack/react-native-testing-library/issues/1495) by [@​siepra](https://togithub.com/siepra) - `toHaveAccessibilityValue` matcher [#​1496](https://togithub.com/callstack/react-native-testing-library/issues/1496) by [@​tarunrajput](https://togithub.com/tarunrajput) - `toBeExpanded` & `toBeCollapsed` matchers [#​1497](https://togithub.com/callstack/react-native-testing-library/issues/1497) by [@​siepra](https://togithub.com/siepra) - `toHaveAccessibleName` matcher [#​1509](https://togithub.com/callstack/react-native-testing-library/issues/1509) by [@​anishamalde](https://togithub.com/anishamalde) - Special thanks to [@​pierrezimmermannbam](https://togithub.com/pierrezimmermannbam) for helping with code reviews! **Full Changelog**: callstack/react-native-testing-library@v12.3.3...v12.4.0 ### [`v12.3.3`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.3.3) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.3.2...v12.3.3) #### What's Changed ##### Features: - feat: toHaveAccessibleName matcher by [@​anishamalde](https://togithub.com/anishamalde) in [https://github.com/callstack/react-native-testing-library/pull/1509](https://togithub.com/callstack/react-native-testing-library/pull/1509) (not yet public, will be exposed publically in v12.4.0) ##### Fixes - fix: change broken hyperlink in README.md by [@​jovanimal](https://togithub.com/jovanimal) in [https://github.com/callstack/react-native-testing-library/pull/1520](https://togithub.com/callstack/react-native-testing-library/pull/1520) ##### Other improvements & chores - docs: Jest matchers docs by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1506](https://togithub.com/callstack/react-native-testing-library/pull/1506) - chore: modern yarn (4.0) by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1517](https://togithub.com/callstack/react-native-testing-library/pull/1517) - chore: enable Yarn 4 on CI by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1525](https://togithub.com/callstack/react-native-testing-library/pull/1525) - chore: expose Jest Native exports by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1522](https://togithub.com/callstack/react-native-testing-library/pull/1522) - Dependabot/npm and yarn/callstack/eslint config 14.0.0 by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1526](https://togithub.com/callstack/react-native-testing-library/pull/1526) #### New Contributors - [@​jovanimal](https://togithub.com/jovanimal) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1520](https://togithub.com/callstack/react-native-testing-library/pull/1520) - [@​anishamalde](https://togithub.com/anishamalde) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1509](https://togithub.com/callstack/react-native-testing-library/pull/1509) **Full Changelog**: callstack/react-native-testing-library@v12.3.2...v12.3.3 ### [`v12.3.2`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.3.2) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.3.1...v12.3.2) #### What's Changed Improvements: - Adds typedefs for pure by [@​chriserickson](https://togithub.com/chriserickson) in [https://github.com/callstack/react-native-testing-library/pull/1516](https://togithub.com/callstack/react-native-testing-library/pull/1516) #### New Contributors - [@​chriserickson](https://togithub.com/chriserickson) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1516](https://togithub.com/callstack/react-native-testing-library/pull/1516) **Full Changelog**: callstack/react-native-testing-library@v12.3.1...v12.3.2 ### [`v12.3.1`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.3.1) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.3.0...v12.3.1) #### What's Changed ### Features - UserEvent `scrollBy` [@​siepra](https://togithub.com/siepra) in [https://github.com/callstack/react-native-testing-library/pull/1445](https://togithub.com/callstack/react-native-testing-library/pull/1445) ### Fixes - fix: properly manage IS_REACT_ACT_ENVIRONMENT in UserEvent by [@​pierrezimmermannbam](https://togithub.com/pierrezimmermannbam) in [https://github.com/callstack/react-native-testing-library/pull/1491](https://togithub.com/callstack/react-native-testing-library/pull/1491) #### New Contributors - [@​marcinkornek](https://togithub.com/marcinkornek) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1487](https://togithub.com/callstack/react-native-testing-library/pull/1487) - [@​meatnordrink](https://togithub.com/meatnordrink) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1494](https://togithub.com/callstack/react-native-testing-library/pull/1494) **Full Changelog**: callstack/react-native-testing-library@v12.3.0...v12.3.1 ### [`v12.3.0`](https://togithub.com/callstack/react-native-testing-library/releases/tag/v12.3.0) [Compare Source](https://togithub.com/callstack/react-native-testing-library/compare/v12.2.2...v12.3.0) #### Features - ARIA props (`role` & `aria-*`) support: - feat: support aria-hidden prop by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1474](https://togithub.com/callstack/react-native-testing-library/pull/1474) - feat: support `role` prop by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1476](https://togithub.com/callstack/react-native-testing-library/pull/1476) - feat: support `aria-label` and `aria-labelledby` props by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1475](https://togithub.com/callstack/react-native-testing-library/pull/1475) - feat: `aria-*` state props by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1478](https://togithub.com/callstack/react-native-testing-library/pull/1478) - feat: `aria-modal` support by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1481](https://togithub.com/callstack/react-native-testing-library/pull/1481) - feat: `aria-value*` props support by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1480](https://togithub.com/callstack/react-native-testing-library/pull/1480) - Jest Native matcher migration to RNTL (work in progress): - feature: Jest matchers core by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1454](https://togithub.com/callstack/react-native-testing-library/pull/1454) - feat: add Jest matchers utils by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1464](https://togithub.com/callstack/react-native-testing-library/pull/1464) - feat: `toBeEmptyElement` matcher by [@​kyawthura-gg](https://togithub.com/kyawthura-gg) in [https://github.com/callstack/react-native-testing-library/pull/1462](https://togithub.com/callstack/react-native-testing-library/pull/1462) - feat: `toHaveDisplayValue` matcher by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1463](https://togithub.com/callstack/react-native-testing-library/pull/1463) - feat: `toHaveTextContent()` matcher by [@​mdjastrzebski](https://togithub.com/mdjastrzebski) in [https://github.com/callstack/react-native-testing-library/pull/1461](https://togithub.com/callstack/react-native-testing-library/pull/1461) - feat: `toBeVisible` matcher by [@​thiagobrez](https://togithub.com/thiagobrez) in [https://github.com/callstack/react-native-testing-library/pull/1465](https://togithub.com/callstack/react-native-testing-library/pull/1465) - feat: `toBeDisabled` matcher by [@​jaworek](https://togithub.com/jaworek) in [https://github.com/callstack/react-native-testing-library/pull/1469](https://togithub.com/callstack/react-native-testing-library/pull/1469) - feat: `toHaveProp` matcher by [@​AntoineThibi](https://togithub.com/AntoineThibi) in [https://github.com/callstack/react-native-testing-library/pull/1477](https://togithub.com/callstack/react-native-testing-library/pull/1477) - feat: `toBeChecked` & `toBePartiallyChecked` matcher by [@​kyawthura-gg](https://togithub.com/kyawthura-gg) in [https://github.com/callstack/react-native-testing-library/pull/1479](https://togithub.com/callstack/react-native-testing-library/pull/1479) Note: Jest matchers are work in progress and haven't yet been officially released. You can track progress of this initiative in [#​1468](https://togithub.com/callstack/react-native-testing-library/issues/1468). #### New Contributors - [@​M-Tilley-SA](https://togithub.com/M-Tilley-SA) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1460](https://togithub.com/callstack/react-native-testing-library/pull/1460) - [@​kyawthura-gg](https://togithub.com/kyawthura-gg) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1462](https://togithub.com/callstack/react-native-testing-library/pull/1462) - [@​friederbluemle](https://togithub.com/friederbluemle) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1470](https://togithub.com/callstack/react-native-testing-library/pull/1470) - [@​thiagobrez](https://togithub.com/thiagobrez) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1465](https://togithub.com/callstack/react-native-testing-library/pull/1465) - [@​AntoineThibi](https://togithub.com/AntoineThibi) made their first contribution in [https://github.com/callstack/react-native-testing-library/pull/1477](https://togithub.com/callstack/react-native-testing-library/pull/1477) **Full Changelog**: callstack/react-native-testing-library@v12.2.2...v12.3.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" in timezone America/Los_Angeles, Automerge - "after 5pm,every weekend" in timezone America/Los_Angeles. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/valora-inc/wallet). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Summary
#1458 - Implement
toBeVisible()
matcher.Follows Jest DOM's visibility rules
Based on Jest Native's toBeVisible()
Style checks:
display !== 'none'
opacity !== 0
Accessibility checks:
accessibilityElementsHidden
(iOS)importantForAccessibility !== 'no-hide-descendants'
(Android)aria-hidden
. Looking through RN's accessibility docs, this seemed to make sense to add. WDYT?Modal checks:
visible !== false
Test plan
Added relevant unit tests.