All files / app/test hookWrapper.tsx

100% Statements 13/13
100% Branches 0/0
100% Functions 3/3
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 5863x 63x 63x 63x   63x   63x         316x             316x                             63x 48x             48x 50x                 48x          
import { ThemeProvider } from "@material-ui/core";
import React, { Suspense } from "react";
import { QueryClient, QueryClientProvider } from "react-query";
import { theme } from "theme";
 
import AuthProvider from "../features/auth/AuthProvider";
 
export default function hookWrapper({
  children,
}: {
  children?: React.ReactNode;
}) {
  const client = new QueryClient({
    defaultOptions: {
      queries: {
        retry: false,
      },
    },
  });
  return (
    <Suspense fallback="loading...">
      <ThemeProvider theme={theme}>
        <QueryClientProvider client={client}>
          <AuthProvider>{children}</AuthProvider>
        </QueryClientProvider>
      </ThemeProvider>
    </Suspense>
  );
}
 
/**
 * Test utility function for retrieving the wrapper with the React Query client.
 * Useful for when you need access to the client as well for certain tests.
 */
export function getHookWrapperWithClient() {
  const client = new QueryClient({
    defaultOptions: {
      queries: {
        retry: false,
      },
    },
  });
  const wrapper = ({ children }: { children?: React.ReactNode }) => (
    <Suspense fallback="loading...">
      <ThemeProvider theme={theme}>
        <QueryClientProvider client={client}>
          <AuthProvider>{children}</AuthProvider>
        </QueryClientProvider>
      </ThemeProvider>
    </Suspense>
  );
 
  return {
    client,
    wrapper,
  };
}