@samitouri / QOS-React-2 / commits / b9de50d2f9

Update test to reset modules instead of using private state (#24055)

Sebastian Markbåge committed Mar 8, 2022 at 23:13 UTC b9de50d2f9ad6ff8caae0729976c3cc9a69c176e
1 file changed +15 -9
packages/react-client/src/__tests__/ReactFlight-test.js
+15 -9
@@ -18,7 +18,6 @@ let ReactNoopFlightClient;
18 let ErrorBoundary;
19 let NoErrorExpected;
20 let Scheduler;
21 -let ContextRegistry;
21
22 describe('ReactFlight', () => {
23 beforeEach(() => {
@@ -30,9 +29,6 @@ describe('ReactFlight', () => {
29 ReactNoopFlightClient = require('react-noop-renderer/flight-client');
30 act = require('jest-react').act;
31 Scheduler = require('scheduler');
33 - const ReactSharedInternals =
34 - React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
35 - ContextRegistry = ReactSharedInternals.ContextRegistry;
32
33 ErrorBoundary = class extends React.Component {
34 state = {hasError: false, error: null};
@@ -429,8 +425,6 @@ describe('ReactFlight', () => {
425
426 const transport = ReactNoopFlightServer.render(<Foo />);
427 act(() => {
432 - ServerContext._currentRenderer = null;
433 - ServerContext._currentRenderer2 = null;
428 ReactNoop.render(ReactNoopFlightClient.read(transport));
429 });
430
@@ -631,14 +625,26 @@ describe('ReactFlight', () => {
625 const transport = ReactNoopFlightServer.render(<ServerApp />);
626
627 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 +
641 act(() => {
635 - delete ContextRegistry.ServerContext;
636 - ServerContext._currentRenderer = null;
637 - ServerContext._currentRenderer2 = null;
642 const serverModel = ReactNoopFlightClient.read(transport);
643 ReactNoop.render(<ClientApp serverModel={serverModel} />);
644 });
645
646 + expect(ClientContext).not.toBe(ServerContext);
647 +
648 expect(ReactNoop).toMatchRenderedOutput(
649 <>
650 <article>