xref: /expo/docs/common/test-utilities.tsx (revision 3f609562)
1import { render, RenderOptions } from '@testing-library/react';
2import GithubSlugger from 'github-slugger';
3import { PropsWithChildren, ReactElement } from 'react';
4
5import { HeadingManager } from '~/common/headingManager';
6import { HeadingsContext } from '~/components/page-higher-order/withHeadingManager';
7
8const Wrapper = ({ children }: PropsWithChildren<object>) => (
9  <HeadingsContext.Provider value={new HeadingManager(new GithubSlugger(), { headings: [] })}>
10    {children}
11  </HeadingsContext.Provider>
12);
13
14export const renderWithHeadings = (
15  element: ReactElement,
16  options?: Omit<RenderOptions, 'wrapper'>
17) => render(element, { wrapper: Wrapper, ...options });
18