Skip to content

Commit

Permalink
fix[devtools/e2e]: add fallback for act in integration tests
Browse files Browse the repository at this point in the history
facebook#27805 broke integration tests for React DevTools with React 17, these changes introduce a fallback for such case when `act` is not available in `react`, but available in `react-dom`, like before.
  • Loading branch information
hoxyq committed Dec 17, 2023
1 parent 8b1547b commit 015399f
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions packages/react-devtools-shared/src/__tests__/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ export function act(
recursivelyFlush: boolean = true,
): void {
const {act: actTestRenderer} = require('react-test-renderer');
const actDOM = require('react').unstable_act;
// Use `require('react-dom/test-utils').act` as a fallback for React 17, which can be used in integration tests for React DevTools.
const actDOM =
require('react').unstable_act || require('react-dom/test-utils').act;

actDOM(() => {
actTestRenderer(() => {
Expand All @@ -44,7 +46,9 @@ export async function actAsync(
recursivelyFlush: boolean = true,
): Promise<void> {
const {act: actTestRenderer} = require('react-test-renderer');
const actDOM = require('react').unstable_act;
// Use `require('react-dom/test-utils').act` as a fallback for React 17, which can be used in integration tests for React DevTools.
const actDOM =
require('react').unstable_act || require('react-dom/test-utils').act;

await actDOM(async () => {
await actTestRenderer(async () => {
Expand Down

0 comments on commit 015399f

Please sign in to comment.