* BREAKING CHANGE : make placeholdertext queries return host elements
* BREAKING CHANGE : make displayValue queries return host elements
* BREAKING CHANGE: make text queries return host elements
* refactor: reset config to default before each test
* feat: use component names from config and add api to configure them
* feat: remove legacy option from queries
* refactor: reorganize legacy and breaking tests for queries
* feat: change error messages for mismatching host component names
* fix: do not update screen when running auto detection
* fix: typo in comment
* refactor: use an object for matchTextContent params
* tests: rewrite some tests to match repo patterns
* fix: use legacy queries by default to prevent breaking changes
* fix: remove wrong uppercase in flow typings
* docs: remove section on useLegacy queries as it wont be a public api
* docs: small improvements based on review
* fix: remove typo in error message
* refactor: rename getReactNativeHostComponentNames to detectHostComponentNames
* refactor: use useBreakingChange from internal config instead of useLegacyQueries
* fix: use fake timers in test so it doesnt take too much time
* refactor: replace type assertions by real type checking
* fix: revert change due to rebase
* fix: improvements after review
* refactor: define type to match inside matchTextContent function
* refactor: rename function to get error message
* feat: display error when auto detect of host component names throw
* fix: remove unused ts-expect-error after ts version bump
* refactor: run auto detection on render if it hasnt been run yet
* refactor: reuse type imports that had been converted to regular ones
* refactor: add comments to distinguish breaking and legacy
* refactor: move config logic into detectComponentHostNames function
* refactor: rename function to detectComponentHostNamesIfNeeded
* tests: add test on detectHostComponentNamesIfNeeded
* fix: use host component name from config for textinput in fireEvent
* refactor: run autodetection in text, displayvalue and placeholder queries rather than in render
* refactor: remove useless async declaration
* refactor: improvements for readability from review
* Update src/__tests__/host-component-names.test.tsx
* refactor: declare variable for host component names in detection function
* refactor: rename detectHostComponentNamesIfNeeded to getHostComponentNames
* feat: use getHostComponentNames in fireEvent for textinput host name
* refactor: revert refactor on matchTextContent
* refactor: add comment to indicate impossible path
* chore: simplify jest-setup files
* refactor: code review changes
Co-authored-by: pierrezimmermann <pierrez@nam.tech>
Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
* feature: screen
* feature: update docs
* refactor: add flow type
* docs: more
* docs: final tweaks
* test rerender
* code review changes
* alias RenderResult to RenderAPI
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* capture global timers, use them in waitFor, tests+
* use real timers in flushMicroTasks
* test to show changes with modern timer mocks
* use enum-like object for timer modes
* fix tests
* remove default timer mode, add flow types
export other timer helpers, adjust tests and docs
* base waitFor on RTL implementation
* [jest] Capture and restore global promise
* [waitFor] Simulate intervals when using fake timers
* [tests] Fix waitForElementToBeRemoved
* cleanups; use more specific global
* rename globals to match others
Co-authored-by: Michael James Duminy <michael-james.duminy@klarna.com>
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* feat: export root test instance from render
* test: add tests for root test instance returned from render function
* docs: add description about root test instance returned from render function
* feat: change root export to container and wrap component in View if no wrapper defined
* docs: update description about container test instance returned from render function
* test: update tests for root test instance returned from render function
* test: clean up comments in tests
* feat: add react-native as peerDependency, clean up lint ignore for lines that was importing react-native
* revert adding default wrapper
* rework tests
* reword docs
* add testID checks
* add comments
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* fix: package reference in docs
* fix: more references to package name
* Update README.md
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* Update website/docs/GettingStarted.md
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* Update website/docs/API.md
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* feat: add "cleanup" function
* docs: add "cleanup" section
* feat: automatically call "cleanup" after each test
...if an "afterEach" global function is defined, and process.env.RTL_SKIP_AUTO_CLEANUP is falsy.
Taken from: https://github.com/testing-library/react-testing-library/blob/14670debd45236d2c5d0a61a83dadc72af1bef7c/src/index.js
* docs: mention automatic cleanup
* add within
* fix lint
* Updated tests, added auto-cleanup test
* Added ways to prevent auto cleanup
* Small fix
* Code review changes
* Update website/docs/API.md
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
* More changes
* Removed afterEach(cleanup) calls in examples
* Code cleanup
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>
Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
* Basic async findBy queries
* Refactored findBy queries to be built with makeFindQuery
* findBy queries for A11y selectors
* Custom findByTestId implementation that avoids current getByTestId issues
* Fixed prettier issue
* Updates Queries.md with findBy queries
* Trying to fix test timeout error appearing only on CI
* Code review changes
* Added typescript types & tests
* prettier did reformat some code arround
* Removed export of GetByAPI, QueryByAPI and FindByAPI interfaces in TS
* Reversed prettier run on typings
* Added overlapping pieces with `within` operator
* Small cleanup
* Update website/docs/Queries.md
* Moved async/await tests to the end of test methods
Co-authored-by: Michał Pierzchała <thymikee@gmail.com>