From 7513208311ed30a8258b1de6a90d528fe1ca8787 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Jastrze=CC=A8bski?= Date: Mon, 5 Oct 2026 14:06:18 +0200 Subject: [PATCH] refactor: tweak occasionally failing nightly test --- .../press/__tests__/press.real-timers.test.tsx | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/user-event/press/__tests__/press.real-timers.test.tsx b/src/user-event/press/__tests__/press.real-timers.test.tsx index bd9d44748..db7be70c4 100644 --- a/src/user-event/press/__tests__/press.real-timers.test.tsx +++ b/src/user-event/press/__tests__/press.real-timers.test.tsx @@ -13,6 +13,10 @@ import { userEvent } from '../..'; import { render, screen } from '../../..'; import { createEventLogger, getEventsNames } from '../../../test-utils/events'; +// Typical event order is pressIn, pressOut, press +// But sometimes due to a race condition, the order is pressIn, press, pressOut. +const VALID_PRESS_ORDERS = ['pressIn, pressOut, press', 'pressIn, press, pressOut']; + describe('userEvent.press with real timers', () => { beforeEach(() => { jest.useRealTimers(); @@ -34,12 +38,8 @@ describe('userEvent.press with real timers', () => { ); await user.press(screen.getByTestId('pressable')); - // Typical event order is pressIn, pressOut, press - // But sometimes due to a race condition, the order is pressIn, press, pressOut. const eventSequence = getEventsNames(events).join(', '); - expect( - eventSequence === 'pressIn, pressOut, press' || eventSequence === 'pressIn, press, pressOut', - ).toBe(true); + expect(VALID_PRESS_ORDERS).toContain(eventSequence); }); test('works on TouchableOpacity', async () => { @@ -204,11 +204,7 @@ describe('userEvent.press with real timers', () => { await user.press(screen.getByTestId('pressable')); const eventSequence = getEventsNames(events).join(', '); - // Typical event order is pressIn, pressOut, press - // But sometimes due to a race condition, the order is pressIn, press, pressOut. - expect( - eventSequence === 'pressIn, pressOut, press' || eventSequence === 'pressIn, press, pressOut', - ).toBe(true); + expect(VALID_PRESS_ORDERS).toContain(eventSequence); }); test('crawls up in the tree to find an element that responds to touch events', async () => {