From b8b76fb952dba7033534b3c1cb8120e722b34c36 Mon Sep 17 00:00:00 2001 From: Andrew Cherniavskii Date: Tue, 30 Aug 2022 14:00:00 +0200 Subject: [PATCH] [test] Allow to pass options to `mousePress` function (#34124) --- test/utils/fireDiscreteEvent.js | 8 ++++---- test/utils/userEvent.ts | 18 +++++++++--------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/test/utils/fireDiscreteEvent.js b/test/utils/fireDiscreteEvent.js index ba2543b7da56fa..d30a829e899990 100644 --- a/test/utils/fireDiscreteEvent.js +++ b/test/utils/fireDiscreteEvent.js @@ -45,9 +45,9 @@ function withMissingActWarningsIgnored(callback) { // Note that using `fireEvent` from `@testing-library/dom` would not work since /react configures both `fireEvent` to use `act` as a wrapper. // ----------------------------------------- -export function click(element) { +export function click(element, options) { return withMissingActWarningsIgnored(() => { - fireEvent.click(element); + fireEvent.click(element, options); }); } @@ -74,7 +74,7 @@ export function keyUp(element, options) { } /** - * @param {Element} element + * @param {Element | Node | Document | Window} element * @param {{}} [options] * @returns {void} */ @@ -85,7 +85,7 @@ export function mouseDown(element, options) { } /** - * @param {Element} element + * @param {Element | Node | Document | Window} element * @param {{}} [options] * @returns {void} */ diff --git a/test/utils/userEvent.ts b/test/utils/userEvent.ts index c8ff75ac438359..0d1443cd0c6104 100644 --- a/test/utils/userEvent.ts +++ b/test/utils/userEvent.ts @@ -1,24 +1,24 @@ import * as React from 'react'; import { click, mouseDown, mouseUp, keyDown, keyUp } from './fireDiscreteEvent'; -import { act, fireEvent } from './createRenderer'; +import { act, fireEvent, FireFunction } from './createRenderer'; export function touch(target: Element): void { fireEvent.touchStart(target); fireEvent.touchEnd(target); } -export function mousePress(target: Element): void { +export const mousePress: (...args: Parameters) => void = (target, options) => { if (React.version.startsWith('18')) { - fireEvent.mouseDown(target); - fireEvent.mouseUp(target); - fireEvent.click(target); + fireEvent.mouseDown(target, options); + fireEvent.mouseUp(target, options); + fireEvent.click(target, options); } else { - mouseDown(target); - mouseUp(target); - click(target); + mouseDown(target, options); + mouseUp(target, options); + click(target, options); act(() => {}); } -} +}; export function keyPress(target: Element, options: { key: string }): void { if (React.version.startsWith('18')) {