diff --git a/packages/components/src/components/Tooltip/Tooltip.test.tsx b/packages/components/src/components/Tooltip/Tooltip.test.tsx index c40c3a44f3c..2c9f76b2cac 100644 --- a/packages/components/src/components/Tooltip/Tooltip.test.tsx +++ b/packages/components/src/components/Tooltip/Tooltip.test.tsx @@ -13,7 +13,10 @@ describe('Tooltip', () => { ); const trigger = screen.getByText('Hover me'); - await userEvent.hover(trigger); + + await act(async () => { + await userEvent.hover(trigger); + }); const tooltip = screen.getByText(tooltipContent); expect(tooltip).toBeInTheDocument(); @@ -26,11 +29,12 @@ describe('Tooltip', () => { , ); - await act(() => {}); const trigger = screen.getByText('Hover me'); - await userEvent.hover(trigger); + await act(async () => { + await userEvent.hover(trigger); + }); const tooltip = screen.getByText(tooltipContent); expect(tooltip).toBeInTheDocument(); @@ -45,7 +49,10 @@ describe('Tooltip', () => { ); const trigger = screen.getByText('Hover me'); - await userEvent.hover(trigger); + + await act(async () => { + await userEvent.hover(trigger); + }); const tooltip = screen.queryByText(tooltipContent); expect(tooltip).not.toBeInTheDocument(); @@ -61,15 +68,18 @@ describe('Tooltip', () => { const trigger = screen.getByText('Hover me'); - await userEvent.hover(trigger); + await act(async () => { + await userEvent.hover(trigger); + }); const currentTrigger = screen.getByText('Hover me'); expect(currentTrigger.parentElement).toHaveAttribute('data-state', 'open'); - await userEvent.unhover(trigger); + await act(async () => { + await userEvent.unhover(trigger); + }); const triggerBefore = screen.getByText('Hover me'); - // NOTE: for some reason, the content is still in the DOM but the state is definitely closed const parent = triggerBefore.parentElement; expect(parent).toHaveAttribute('data-state', 'closed'); diff --git a/packages/suite/src/components/suite/__tests__/NumberInput.test.tsx b/packages/suite/src/components/suite/__tests__/NumberInput.test.tsx index 4649f5b9adb..e49e063b538 100644 --- a/packages/suite/src/components/suite/__tests__/NumberInput.test.tsx +++ b/packages/suite/src/components/suite/__tests__/NumberInput.test.tsx @@ -1,7 +1,7 @@ import { useForm } from 'react-hook-form'; import { Provider } from 'react-redux'; -import { render } from '@testing-library/react'; +import { act, render } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { Store } from 'redux'; @@ -59,13 +59,15 @@ const testCase = async ( displayed: string, reported: string, ) => { - // types userInput character by character - await userEvent.type(element, userInput); - + // Wrap user events in act() to ensure all updates are flushed. + await act(async () => { + await userEvent.type(element, userInput); + }); expect(element.value).toBe(displayed); expect(onChangeMock).toHaveBeenCalledWith(reported); - - await userEvent.clear(element); + await act(async () => { + await userEvent.clear(element); + }); }; describe('NumberInput component', () => {