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