import PropTypes from 'prop-types'; import type { PropsWithChildren } from 'react'; import { Component } from 'react'; import { IntlProvider } from 'react-intl'; import { MemoryRouter } from 'react-router'; // eslint-disable-next-line import/no-extraneous-dependencies import { render as rtlRender } from '@testing-library/react'; class FakeIdentityWrapper extends Component< PropsWithChildren<{ signedIn: boolean }> > { static childContextTypes = { identity: PropTypes.shape({ signedIn: PropTypes.bool.isRequired, accountId: PropTypes.string, disabledAccountId: PropTypes.string, accessToken: PropTypes.string, }).isRequired, }; getChildContext() { return { identity: { signedIn: this.props.signedIn, accountId: '123', accessToken: 'test-access-token', }, }; } render() { return this.props.children; } } function render( ui: React.ReactElement, { locale = 'en', signedIn = true, ...renderOptions } = {}, ) { const Wrapper = (props: { children: React.ReactNode }) => { return ( {props.children} ); }; return rtlRender(ui, { wrapper: Wrapper, ...renderOptions }); } // re-export everything // eslint-disable-next-line import/no-extraneous-dependencies export * from '@testing-library/react'; // override render method export { render };