diff --git a/src/__tests__/fireEvent.test.tsx b/src/__tests__/fireEvent.test.tsx
index a8a7dca84..88613e015 100644
--- a/src/__tests__/fireEvent.test.tsx
+++ b/src/__tests__/fireEvent.test.tsx
@@ -475,3 +475,53 @@ test('has only onMove', () => {
});
expect(handleDrag).toHaveBeenCalled();
});
+
+// Those events ideally should be triggered through `fireEvent.scroll`, but they are handled at the
+// native level, so we need to support manually triggering them
+describe('native events', () => {
+ test('triggers onScrollBeginDrag', () => {
+ const onScrollBeginDragSpy = jest.fn();
+ const { getByTestId } = render(
+
+ );
+
+ fireEvent(getByTestId('test-id'), 'onScrollBeginDrag');
+ expect(onScrollBeginDragSpy).toHaveBeenCalled();
+ });
+
+ test('triggers onScrollEndDrag', () => {
+ const onScrollEndDragSpy = jest.fn();
+ const { getByTestId } = render(
+
+ );
+
+ fireEvent(getByTestId('test-id'), 'onScrollEndDrag');
+ expect(onScrollEndDragSpy).toHaveBeenCalled();
+ });
+
+ test('triggers onMomentumScrollBegin', () => {
+ const onMomentumScrollBeginSpy = jest.fn();
+ const { getByTestId } = render(
+
+ );
+
+ fireEvent(getByTestId('test-id'), 'onMomentumScrollBegin');
+ expect(onMomentumScrollBeginSpy).toHaveBeenCalled();
+ });
+
+ test('triggers onMomentumScrollEnd', () => {
+ const onMomentumScrollEndSpy = jest.fn();
+ const { getByTestId } = render(
+
+ );
+
+ fireEvent(getByTestId('test-id'), 'onMomentumScrollEnd');
+ expect(onMomentumScrollEndSpy).toHaveBeenCalled();
+ });
+});