asyncWrapper is not executed with act support
lionskape opened this issue · comments
@testing-library/react
version: 14.2.2- Testing Framework and version: jest, 29.7
- DOM Environment: "jest-environment-jsdom": "29.7.0"
Relevant code or config:
const {user} = setup(<ControlDate onChange={jest.fn()} />);
const input = screen.getByRole('textbox');
await act(async () => {
await user.type(input, '01.10.2015');
});
await act(async () => {
await user.type(input, '02.12.2012');
});
What you did:
I'm running events using user-events pacakge - https://github.com/testing-library/user-event
What happened:
Looks like it is executed in AsyncWrapper and make a lot of noise about "non-act environment".
testing-library/user-event#1200
This may be an issue with user-event
. Can you provide a reproduction witout use-event
or at least the important bits inlined?
I have the same problem:
For instance:
await act(async () => await userEvent.click(screen.getByTestId('backIcon')));
gives me the same error:
console.error
Warning: The current testing environment is not configured to support act(...)
@eps1lon sorry, I do not have reproduction without user-event
But, as I understand from user-event
issues (linked in my first message) - the problem is an AsyncWrapper
implementation. User event is running inside AsyncWrapper
, which is "non-act" environment.
react-testing-library/src/pure.js
Lines 37 to 59 in edb6344