Skip to content

Commit b9de50d

Browse files
authored
Update test to reset modules instead of using private state (#24055)
1 parent c91892e commit b9de50d

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

packages/react-client/src/__tests__/ReactFlight-test.js

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ let ReactNoopFlightClient;
1818
let ErrorBoundary;
1919
let NoErrorExpected;
2020
let Scheduler;
21-
let ContextRegistry;
2221

2322
describe('ReactFlight', () => {
2423
beforeEach(() => {
@@ -30,9 +29,6 @@ describe('ReactFlight', () => {
3029
ReactNoopFlightClient = require('react-noop-renderer/flight-client');
3130
act = require('jest-react').act;
3231
Scheduler = require('scheduler');
33-
const ReactSharedInternals =
34-
React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
35-
ContextRegistry = ReactSharedInternals.ContextRegistry;
3632

3733
ErrorBoundary = class extends React.Component {
3834
state = {hasError: false, error: null};
@@ -429,8 +425,6 @@ describe('ReactFlight', () => {
429425

430426
const transport = ReactNoopFlightServer.render(<Foo />);
431427
act(() => {
432-
ServerContext._currentRenderer = null;
433-
ServerContext._currentRenderer2 = null;
434428
ReactNoop.render(ReactNoopFlightClient.read(transport));
435429
});
436430

@@ -631,14 +625,26 @@ describe('ReactFlight', () => {
631625
const transport = ReactNoopFlightServer.render(<ServerApp />);
632626

633627
expect(ClientContext).toBe(undefined);
628+
629+
// Reset all modules, except flight-modules which keeps the registry of client components
630+
const flightModules = require('react-noop-renderer/flight-modules');
631+
jest.resetModules();
632+
jest.mock('react-noop-renderer/flight-modules', () => flightModules);
633+
634+
React = require('react');
635+
ReactNoop = require('react-noop-renderer');
636+
ReactNoopFlightServer = require('react-noop-renderer/flight-server');
637+
ReactNoopFlightClient = require('react-noop-renderer/flight-client');
638+
act = require('jest-react').act;
639+
Scheduler = require('scheduler');
640+
634641
act(() => {
635-
delete ContextRegistry.ServerContext;
636-
ServerContext._currentRenderer = null;
637-
ServerContext._currentRenderer2 = null;
638642
const serverModel = ReactNoopFlightClient.read(transport);
639643
ReactNoop.render(<ClientApp serverModel={serverModel} />);
640644
});
641645

646+
expect(ClientContext).not.toBe(ServerContext);
647+
642648
expect(ReactNoop).toMatchRenderedOutput(
643649
<>
644650
<article>

0 commit comments

Comments
 (0)