diff --git a/src/__tests__/fireEvent.test.js b/src/__tests__/fireEvent.test.js
index cd273dc1c..e21da6835 100644
--- a/src/__tests__/fireEvent.test.js
+++ b/src/__tests__/fireEvent.test.js
@@ -91,13 +91,19 @@ describe('fireEvent', () => {
test('fireEvent.press', () => {
const onPressMock = jest.fn();
const text = 'Fireevent press';
+ const eventData = {
+ nativeEvent: {
+ pageX: 20,
+ pageY: 30,
+ },
+ };
const { getByText } = render(
);
- fireEvent.press(getByText(text));
+ fireEvent.press(getByText(text), eventData);
- expect(onPressMock).toHaveBeenCalled();
+ expect(onPressMock).toHaveBeenCalledWith(eventData);
});
test('fireEvent.scroll', () => {
diff --git a/src/fireEvent.js b/src/fireEvent.js
index ffb6df173..8447c4b8c 100644
--- a/src/fireEvent.js
+++ b/src/fireEvent.js
@@ -105,8 +105,8 @@ const invokeEvent = (
const toEventHandlerName = (eventName: string) =>
`on${eventName.charAt(0).toUpperCase()}${eventName.slice(1)}`;
-const pressHandler = (element: ReactTestInstance): void =>
- invokeEvent(element, 'press', pressHandler);
+const pressHandler = (element: ReactTestInstance, ...data: Array): void =>
+ invokeEvent(element, 'press', pressHandler, ...data);
const changeTextHandler = (
element: ReactTestInstance,
...data: Array
diff --git a/typings/index.d.ts b/typings/index.d.ts
index d42639d53..2003c2272 100644
--- a/typings/index.d.ts
+++ b/typings/index.d.ts
@@ -321,7 +321,7 @@ export type FireEventFunction = (
) => any;
export type FireEventAPI = FireEventFunction & {
- press: (element: ReactTestInstance) => any;
+ press: (element: ReactTestInstance, ...data: Array) => any;
changeText: (element: ReactTestInstance, ...data: Array) => any;
scroll: (element: ReactTestInstance, ...data: Array) => any;
};
diff --git a/website/docs/API.md b/website/docs/API.md
index c2d57f1a7..18188f3a9 100644
--- a/website/docs/API.md
+++ b/website/docs/API.md
@@ -225,7 +225,7 @@ fireEvent[eventName](element: ReactTestInstance, ...data: Array): void
Convenience methods for common events like: `press`, `changeText`, `scroll`.
-### `fireEvent.press: (element: ReactTestInstance) => void`
+### `fireEvent.press: (element: ReactTestInstance, ...data: Array) => void`
Invokes `press` event handler on the element or parent element in the tree.
@@ -234,6 +234,12 @@ import { View, Text, TouchableOpacity } from 'react-native';
import { render, fireEvent } from '@testing-library/react-native';
const onPressMock = jest.fn();
+const eventData = {
+ nativeEvent: {
+ pageX: 20,
+ pageY: 30,
+ },
+};
const { getByText } = render(
@@ -243,8 +249,8 @@ const { getByText } = render(
);
-fireEvent.press(getByText('Press me'));
-expect(onPressMock).toHaveBeenCalled();
+fireEvent.press(getByText('Press me'), eventData);
+expect(onPressMock).toHaveBeenCalledWith(eventData);
```
### `fireEvent.changeText: (element: ReactTestInstance, ...data: Array) => void`