Skip to content

Commit

Permalink
docs: add note user.scrollTo in favour of fireEvent.scroll and edit b…
Browse files Browse the repository at this point in the history
…roken links (#1551)

* add note user.scrollTo in favour of fireEvent.scroll and edit broken links

* Update website/docs/API.md

---------

Co-authored-by: Maciej Jastrzebski <mdjastrzebski@gmail.com>
  • Loading branch information
vanGalilea and mdjastrzebski committed Jan 10, 2024
1 parent b222792 commit 3e2060d
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions website/docs/API.md
Original file line number Diff line number Diff line change
Expand Up @@ -396,11 +396,17 @@ render(
fireEvent.scroll(screen.getByText('scroll-view'), eventData);
```

:::note

Prefer using [`user.scrollTo`](./UserEvent.md#scrollto) over `fireEvent.scroll` for `ScrollView`, `FlatList`, and `SectionList` components. User Event provides a more realistic event simulation based on React Native runtime behavior.

:::

## Helper functions

### `waitFor`

- [`Example code`](https://github.com/callstack/react-native-testing-library/blob/main/src/__tests__/waitFor.test.tsx)
- [`Example code`](https://github.com/callstack/react-native-testing-library/blob/main/src/__tests__/wait-for.test.tsx)

Defined as:

Expand All @@ -414,7 +420,7 @@ function waitFor<T>(
Waits for a period of time for the `expectation` callback to pass. `waitFor` may run the callback a number of times until timeout is reached, as specified by the `timeout` and `interval` options. The callback must throw an error when the expectation is not met. Returning any value, including a falsy one, will be treated as meeting the expectation, and the callback result will be returned to the caller of `waitFor` function.

```tsx
await waitFor(() => expect(mockFunction).toHaveBeenCalledWith()))
await waitFor(() => expect(mockFunction).toHaveBeenCalledWith())
```

`waitFor` function will be executing `expectation` callback every `interval` (default: every 50 ms) until `timeout` (default: 1000 ms) is reached. The repeated execution of callback is stopped as soon as it does not throw an error, in such case the value returned by the callback is returned to `waitFor` caller. Otherwise, when it reaches the timeout, the final error thrown by `expectation` will be re-thrown by `waitFor` to the calling code.
Expand Down Expand Up @@ -504,7 +510,7 @@ If you receive warnings related to `act()` function consult our [Undestanding Ac

### `waitForElementToBeRemoved`

- [`Example code`](https://github.com/callstack/react-native-testing-library/blob/main/src/__tests__/waitForElementToBeRemoved.test.tsx)
- [`Example code`]https://github.com/callstack/react-native-testing-library/blob/main/src/__tests__/wait-for-element-to-be-removed.test.tsx)

Defined as:

Expand Down

0 comments on commit 3e2060d

Please sign in to comment.