'use strict';
let React;
let ReactDOMClient;
let act;
let MockedComponent;
let ReactDOMServer;
describe('ReactMockedComponent', () => {
beforeEach(() => {
React = require('react');
ReactDOMClient = require('react-dom/client');
ReactDOMServer = require('react-dom/server');
act = require('internal-test-utils').act;
MockedComponent = class extends React.Component {
render() {
throw new Error('Should not get here.');
}
};
MockedComponent.prototype.render = jest.fn();
});
it('should allow a mocked component to be rendered', async () => {
const container = document.createElement('container');
const root = ReactDOMClient.createRoot(container);
await act(() => {
root.render(<MockedComponent />);
});
});
it('should allow a mocked component to be updated in dev', async () => {
const container = document.createElement('container');
const root = ReactDOMClient.createRoot(container);
await act(() => {
root.render(<MockedComponent />);
});
await act(() => {
root.render(<MockedComponent />);
});
});
it('should allow a mocked component to be rendered in dev (SSR)', () => {
ReactDOMServer.renderToString(<MockedComponent />);
});
});