906 Commits

Author SHA1 Message Date
Maciej Jastrzębski 798100bf04 v12.3.1 v12.3.1 2023-10-24 18:16:15 +02:00
Pierre Zimmermann 328466dffc Fix: switch IS_REACT_ACT_ENVIRONMENT in userEvent (#1491)
* fix: use act in wait util

* refactor: remove useless usage of act in press implem

* refactor: make test fail by checking console.error is not called

* refactor: extract async wrapper from waitFor implem

* feat: use asyncWrapper for userEvent to prevent act warnings

* refactor: add comment making test on act environment more explicit

* refactor: move asyncWrapper to helper folder cause its not direclty tied to userevent

* refactor: add comment in asyncWrapper

* refactor: move UE `act` test to UE `press` tests

* refactor: tweaks

* refactor: naming tweaks

* chore: revert unnecessary filename change

* chore: exclude code cov for React <= 17

* chore: disable codecov for wrap-async

---------

Co-authored-by: pierrezimmermann <pierrez@nam.tech>
Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-10-23 12:49:13 +02:00
Maciej Jastrzebski 3be9f3b7b9 chore: disable React 17 tests on CI as they didn't work anyway (#1504) 2023-10-12 12:10:30 +02:00
Maciej Jastrzebski 32dca59612 chore: yarn upgrade (#1512) 2023-10-12 12:09:09 +02:00
Wiktor Sieprawski a9f32a69e4 feat: toBeExpanded matcher (#1497)
* feat: toBeExpanded matcher

* feat: toBeCollapsed matcher

* chore: shorten syntax for isElementCollapsed check

* refactor: clean up

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-19 12:38:49 +02:00
Wiktor Sieprawski d898a9d288 feat: toContainElement matcher (#1495)
* feat: add toContainElement matcher

* chore: replace printElement with formatElement

* chore: mimic jest-dom instead of jest-native

* fix: checking host element

* test: passing null as argument

* chore: rename basic test case

* test: negative case

* test: on null elements

* fix: validating host container and element

* refactor: code review changes

* refactor: tweaks

* refactors: cleanup

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-19 11:36:29 +02:00
Maciej Jastrzebski d36137bcd1 docs: troubleshooting undefined components (#1502) 2023-09-19 11:16:04 +02:00
Andrew f538029201 docs: note required RNTL version for user-event in user-event.md (#1494)
* docs: note required RNTL version for user-event in user-event.md

* chore: tweak wording

* chore: tweak

* chore: tweaks

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-18 22:13:55 +02:00
Maciej Jastrzebski 7a12847e72 chore: restore latest types for react-test-renderer (#1501) 2023-09-18 21:54:33 +02:00
Maciej Jastrzebski 08e4d022b3 chore: update deps 2023-09-18 (#1499)
* chore: upgrade example/basic deps

* chore: update some deps

* chore: upgrade other deps

* chore: fix lint

* chore: yarn upgrade (partial)

* chore: yarn upgrade (partial 2)

* chore: yarn upgrade (partial)

* chore: yarn upgrade (partial)

* chore: yarn upgrade (partial)

* chore: yarn upgrade react-native

* chore: upgrade rest (ex react-test-renderer)
2023-09-18 13:06:12 +02:00
Nick McCurdy a0160620da Upgrade Node for security (#1498) 2023-09-15 22:39:11 +02:00
Wiktor Sieprawski a7ea95d3d7 feat: user event scroll (#1445)
* feat: setup dummy scroll endpoint

* chore: use ScrollEventBuilder

* chore: enhance API endpoint with parameters

* chore: emit multiple scroll events

* fix: intermediate steps offset values

* feat: momentum scroll

* chore: add scroll to userEvent

* feat: scrollToTop

* feat: remember scroll position for element

* fix: setting and getting scroll state

* chore: validate host component type

* chore: validate and emit intermediate callbacks in scrollToTop

* chore: fix ts

* refactor: rename scroll to scrollTo

* refactor: y & x scrollTo params

* refactor: refactor y, x params to support explicit steps

* chore: fix typecheck

* refactor: improve typing

* refactor: momentumY, momentumX options

* docs: initial docs for `scrollTo`

* refactor: descope `scrollToTop` variant

* docs: tweaks

* refactor: improve TS typing by separating vertical/horizontal scroll

* refactor: wrap scroll event in nativeEvent wrapper

* refactor: clean up implementation

* chore: add FlatList tests

* refactor: remove explicit steps

* refactor: introduce inertial interpolator for momentum scroll

* docs: update docs

* chore: update snapshots

* refactor: code review changes

* feat: validate scroll direction

* docs: tweaks

* docs: tweak

* refactor: add more tests to improve code cov

* refactor: improve errors

* refactor: code review tweaks

* refactor: add wait calls

* refactor: tweaks, tweaks, tweaks

* refactor: final tweaks

---------

Co-authored-by: Maciej Jastrzębski <mdjastrzebski@gmail.com>
2023-09-13 12:05:56 +02:00
Marcin Kornek 3b9c4da433 feat: toHaveStyle matcher (#1487)
* feat: implement toHaveStyle with tests

* refactor: tweaks and cleanup

---------

Co-authored-by: Marcin Kornek <7931279+marcinkornek@users.noreply.github.com>
Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-12 12:04:17 +02:00
Hugo Duprat 701433c131 feat: toBeBusy() matcher (#1493)
* feat: create always passing toBeBusy() matcher

* test: prepare toBeBusy() tests

* feat: implement toBeBusy() passing condition

* feat: implement error message

* test: update error message snapshots to correct format

* refactor: use screen variable

* refactor: tweaks

* refactor: cleanup

* refactor:  clean up

* refactor: finishing touches

---------

Co-authored-by: Maciej Jastrzębski <mdjastrzebski@gmail.com>
2023-09-12 11:13:31 +02:00
AntoineThibi 1592d35e36 feat: implement toBeSelected matcher (#1488)
* feat: implement toBeSelected

* refactor: tweaks

* refactor: tweak tests

* refactor: finishing touches

---------

Co-authored-by: Maciej Jastrzębski <mdjastrzebski@gmail.com>
2023-09-08 11:23:19 +02:00
Maciej Jastrzebski 8373d6a99b chore: add accessibility experiments (#1489) 2023-09-07 10:07:13 +02:00
Maciej Jastrzębski b3136608e6 v12.3.0 v12.3.0 2023-09-06 20:59:36 +02:00
Maciej Jastrzebski 3fa6c457ea feat: aria-value* props support (#1480)
* feat: aria-value* props support

* refactor: tweaks

* chore: fix code cov
2023-09-06 17:16:21 +02:00
Maciej Jastrzebski 5dbd04f4be feat: aria-modal support (#1481)
* feat: `aria-modal` support

* chore: add API assumptions tests
2023-09-06 12:37:08 +02:00
Kyaw Thura 5a7c693ea2 feat: toBeChecked & toBePartiallyChecked matcher (#1479)
* feat: added toBeChecked & toBePartiallyChecked

* test: wip test

* fix: fix typo

* test: added more test

* fix: fixed throw error

* test: added throw error test

* refactor: refactor matchers

* refactor: tweaks

* refactor: final tweaks

* chore: fix ts

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-04 23:44:24 +02:00
AntoineThibi 2d96b777b1 feat: toHaveProp matcher (#1477)
* feat: implement toHaveProp

* refactor: use screen in the test

* refactor: tweaks

* refactor: tweaks

* refactor: final polishing

* refactor: cleanup

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-01 23:14:26 +02:00
Jan Jaworski 4659bba132 feat: toBeDisabled matcher (#1469)
* feat: add toBeDisabled matcher

* add tests and toBeEnabled matcher

* update logic and tests

* add test to validate toBeDisabled with parent elements

* better name

* refactor: tweaks and improvements

* chore: tweak fo

* refactor: tests

* chore: fix tests

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-09-01 17:15:14 +02:00
Maciej Jastrzebski 3ff0afb119 docs: setup automatic table of contents (#1482)
* docs: automate table of contents for all pages
* docs: custom anchors
* docs: tweaks
2023-08-31 22:33:03 +02:00
Maciej Jastrzebski 5cbe69af07 feat: accessibility state (#1478)
chore: add tests, update docs
2023-08-31 15:33:41 +02:00
Maciej Jastrzebski da0a888df7 feat: support aria-label and aria-labelledby props (#1475)
* feat: support aria-label and aria-labelledby props

* refactor: tweaks

* chore: revert unintended docs changes
2023-08-31 15:29:38 +02:00
Maciej Jastrzebski 054f36d158 feat: support role prop (#1476) 2023-08-31 15:23:00 +02:00
Maciej Jastrzebski 238c860088 feat: support aria-hidden prop (#1474) 2023-08-31 15:17:51 +02:00
Thiago Brezinski f0fee3512a feat: toBeVisible matcher (#1465)
* feat: add toBeVisible matcher

* test(toBeVisible): improve snapshot matching

* chore: detect Modal as host component

* chore: fix tests to host component names

* refactor: merge accessibility related code with existing utils

* chore: add comments

* refactor: tweak unit test

* chore: fix test

* refactor: tweaks

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-08-25 13:45:19 +02:00
Maciej Jastrzebski b428cc5f20 feat: toHaveTextContent() matcher (#1461)
* feat: toHaveTextContent() matcher

chore: fix typescript, remove legacy jest-native tests

* refactor: tweaks
2023-08-24 22:29:18 +02:00
Maciej Jastrzebski 344e9b3bdf feat: toHaveDisplayValue matcher (#1463)
* feat: to have display value

* add tests for toHaveDisplayValue()

* update type of toHaveDisplayValue matcher

* rename test file

* format

* chore: add more tests

* refactor: extract common TextInput utils

* chore: fix codecov

---------

Co-authored-by: Jan Jaworski <jaworek3211@gmail.com>
2023-08-24 22:11:11 +02:00
Frieder Bluemle a7f250d930 Fix changelog commit range in v12 migration guide (#1470) 2023-08-24 09:52:28 +02:00
Kyaw Thura cf08c069c2 feat: toBeEmptyElement matcher (#1462)
* feat: implement toBeEmptyElement

* refactor: tweak formatting and tests

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-08-22 12:09:22 +02:00
Pierre Zimmermann 4148038444 fix: flatlist not rendering in rntl repo (#1467)
* fix: flatlist not rendering in rntl repo

* refactor: move render tests to RN tests file

---------

Co-authored-by: pierrezimmermann <pierrez@nam.tech>
Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-08-22 11:24:30 +02:00
Maciej Jastrzebski 4a8072dbe6 feat: add Jest matchers utils (#1464)
* feat: add formatMessage

* feat: add TS extends

* chore: remove old Jest Native tests
2023-08-20 00:22:58 +02:00
Matthew Tilley 89874141c2 Update GettingStarted.md (#1460) 2023-08-19 12:36:43 +02:00
Maciej Jastrzebski 4bfd7fbc6b feature: Jest matchers core (#1454)
* chore: jest matchers.

* refactor: cleanup

* chore: test for not exposing matchers by default

* chore: cleanup

* refactor: finishing touches

* chore: improve code cov

* Update package.json

Co-authored-by: Michał Pierzchała <thymikee@gmail.com>

* refactor: code review changes
2023-08-17 10:07:17 +02:00
Maciej Jastrzebski cae05837a8 chore: Jest snapshot pluging for strip ansi (#1455) 2023-08-16 14:11:48 +02:00
Maciej Jastrzębski 316324af1c v12.2.2 v12.2.2 2023-08-14 14:29:53 +02:00
Maciej Jastrzebski fa7b76a9ef chore: remove negative "files" entry which confused Yarn (#1453) 2023-08-14 14:28:22 +02:00
Maciej Jastrzebski a529a2da27 chore: apply UserEvent clear to examples/basic (#1451) 2023-08-14 13:16:29 +02:00
Maciej Jastrzębski ee74d84d66 v12.2.1 v12.2.1 2023-08-14 13:08:53 +02:00
Pierre Zimmermann 2a0477e844 refactor: type all queries to return host components (#1426)
* refactor: type all queries to return host components

* refactor: use brackets syntax for array types over Array

* refactor: change order of checks in findAll for perf

* refactor: hide host instance from public API

* refactor: make sure all queries return host elements

* Revert "refactor: make sure all queries return host elements"

This reverts commit 979f92a83e43b04a30c979445633896ec3496769.

* chore: rename to HostTestInstance

* refactor: remove flierNodeByType

* chore: fix codecov

---------

Co-authored-by: pierrezimmermann <pierrez@nam.tech>
Co-authored-by: Maciej Jastrzębski <mdjastrzebski@gmail.com>
2023-08-11 16:51:37 +02:00
Maciej Jastrzebski 62a9b570fc feature: userEvent clear() (#1440)
* feat: implement clear()

* chore: add docs

* chore: fix lint

* refactor: remove redundant clearAllMocks

* feat: throw on disabled element

* refactor: tweak errors

* refactor: cleanup

* refactor: remove error on disabled element
2023-08-10 22:35:00 +02:00
Maciej Jastrzebski e69402bc13 chore: React Test Library experiments app (#1447)
* chore: React Test Library experiments app

* chore: fix lint

* chore: fix tests
2023-08-10 22:15:08 +02:00
Maciej Jastrzebski fd08a4cd2d chore: update docs (#1448) 2023-08-10 13:15:42 +02:00
Maciej Jastrzebski 20c5e446b8 chore: experiments app tweaks (#1416)
* chore: fix expo warnings

* chore: log info about micro and macro tasks

* chore: expo upgrade

* refactor: simplify event handling

* chore: remove invalid deps

* chore: fix tsc
2023-08-08 11:23:48 +02:00
Wiktor Sieprawski ca0d9a54c9 ScrollView experiments (#1442)
* ScrollView experiments

* FlatList experiments

* Extend placeholders for scrollable components

* Enhance experiments with onContentSizeChange

* Add endReached event to FlatList experiment

* SectionList experiments

* Fix missing semicolon

* refactor: cleanup code

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
2023-08-07 23:16:39 +02:00
Maciej Jastrzebski b70c07d12f chore: update basic example with User Event (#1438)
* chore: update basic example with User Event

* chore: add fake timers
2023-08-06 17:27:12 +02:00
Maciej Jastrzebski dace5cb076 v12.2.0 v12.2.0 2023-08-04 12:30:24 +02:00
Maciej Jastrzebski 3382867b13 chore: expose User Event in the exports and website (#1410)
* chore: expose User Event in the exports and website

* docs: tweaks, add beta notice

* chore: anotate fireEvent api

* docs: tweaks
2023-08-04 12:28:28 +02:00