1import { render } from '@testing-library/react';
2import GithubSlugger from 'github-slugger';
3
4import DocumentationSidebarRight from './DocumentationSidebarRight';
5
6import { HeadingManager, HeadingType } from '~/common/headingManager';
7import { HeadingsContext } from '~/components/page-higher-order/withHeadingManager';
8
9const prepareHeadingManager = () => {
10  const headingManager = new HeadingManager(new GithubSlugger(), { headings: [] });
11  headingManager.addHeading('Base level heading', undefined, {});
12  headingManager.addHeading('Level 3 subheading', 3, {});
13  headingManager.addHeading('Code heading depth 1', 0, {
14    sidebarDepth: 1,
15    sidebarType: HeadingType.InlineCode,
16  });
17
18  return headingManager;
19};
20
21describe('DocumentationSidebarRight', () => {
22  test('correctly matches snapshot', () => {
23    const headingManager = prepareHeadingManager();
24
25    const { container } = render(
26      <HeadingsContext.Provider value={headingManager}>
27        <DocumentationSidebarRight />
28      </HeadingsContext.Provider>
29    );
30    expect(container).toMatchSnapshot();
31  });
32});
33