import * as React from 'react'; import { render, screen } from '@testing-library/react'; import { PageSection, PageSectionTypes } from '../PageSection'; jest.mock('../Page'); test('Check page section with no padding example against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page section with limited width', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page section with center alignment', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page main tabs section against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page main nav section against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page main subnav section against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page main breadcrumb section against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page section with no fill example against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page section with fill example against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Check page section with fill and no padding example against snapshot', () => { const Section = ; const { asFragment } = render(Section); expect(asFragment()).toMatchSnapshot(); }); test('Verify page section top sticky', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('Verify page section bottom sticky', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('Verify page section top shadow', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('Verify page section bottom shadow', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('Verify page section overflow scroll', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('Renders without an aria-label by default', () => { render(test); expect(screen.getByText('test')).not.toHaveAccessibleName('Test label'); }); test('Renders with the passed aria-label applied', () => { render(test); expect(screen.getByText('test')).toHaveAccessibleName('Test label'); }); test('Does not log a warning in the console by default', () => { const consoleWarning = jest.spyOn(console, 'warn').mockImplementation(); render(test); expect(consoleWarning).not.toHaveBeenCalled(); }); test('Does not log a warning in the console when an aria-label is included with hasOverflowScroll', () => { const consoleWarning = jest.spyOn(console, 'warn').mockImplementation(); render( test ); expect(consoleWarning).not.toHaveBeenCalled(); }); test('Logs a warning in the console when an aria-label is not included with hasOverflowScroll', () => { const consoleWarning = jest.spyOn(console, 'warn').mockImplementation(); render(test); expect(consoleWarning).toHaveBeenCalled(); }); test('Renders as a section by default', () => { render(test); expect(screen.getByText('test')).toHaveProperty('nodeName', 'SECTION'); }); test('Renders as other elements when a different element type is passed using the component prop', () => { render(test); expect(screen.getByRole('main')).toHaveTextContent('test'); });