test-utils.tsx 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import React, { ReactElement } from 'react';
  2. import { render, RenderOptions, RenderResult } from '@testing-library/react';
  3. import { ThemeProvider, createGlobalStyle } from "styled-components";
  4. import { ContextProvider } from "shared/Context";
  5. import AuthProvider from "shared/auth/AuthContext";
  6. import { useHistory, useLocation } from 'react-router';
  7. import { BrowserRouter } from 'react-router-dom';
  8. import standard from "shared/themes/standard";
  9. const AllTheProviders = ({children}: {children: React.ReactNode}) => {
  10. return (
  11. <ThemeProvider theme={standard}>
  12. <BrowserRouter>
  13. <ContextProvider history={null} location={null}>
  14. <AuthProvider>
  15. {children}
  16. </AuthProvider>
  17. </ContextProvider>
  18. </BrowserRouter>
  19. </ThemeProvider>
  20. )
  21. }
  22. const customRender = (
  23. ui: ReactElement,
  24. options?: Omit<RenderOptions, 'wrapper'>,
  25. ): RenderResult => render(ui, {
  26. wrapper: AllTheProviders,
  27. ...options
  28. })
  29. export * from '@testing-library/react'
  30. export {customRender as render}