import { render, screen } from '@testing-library/react'; import { Masthead, MastheadMain, MastheadLogo, MastheadContent, MastheadBrand, MastheadToggle } from '../index'; import styles from '@patternfly/react-styles/css/components/Masthead/masthead'; describe('Masthead', () => { test('verify basic', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify full structure', () => { const { asFragment } = render( Toggle Logo Content ); expect(asFragment()).toMatchSnapshot(); }); test('verify custom class', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify inline display breakpoints', () => { const { asFragment } = render( test ); expect(asFragment()).toMatchSnapshot(); }); test('verify stack display breakpoints', () => { const { asFragment } = render( test ); expect(asFragment()).toMatchSnapshot(); }); Object.values(['insetNone', 'insetXs', 'insetSm', 'insetMd', 'insetLg', 'insetXl', 'inset2xl', 'inset3xl'] as [ 'insetNone', 'insetXs', 'insetSm', 'insetMd', 'insetLg', 'insetXl', 'inset2xl', 'inset3xl' ]).forEach((inset) => { test(`verify ${inset} inset breakpoints`, () => { const { asFragment } = render( test ); expect(asFragment()).toMatchSnapshot(); }); }); test(`Renders with ${styles.modifiers.docked} class when variant is docked`, () => { render( test ); expect(screen.getByTestId('masthead')).toHaveClass(styles.modifiers.docked); }); test(`Does not render with ${styles.modifiers.docked} class when variant is default`, () => { render( test ); expect(screen.getByTestId('masthead')).not.toHaveClass(styles.modifiers.docked); }); test(`Does not render with ${styles.modifiers.docked} class when variant is not passed`, () => { render(test); expect(screen.getByTestId('masthead')).not.toHaveClass(styles.modifiers.docked); }); }); describe('MastheadLogo', () => { test('verify basic', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify custom class', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify default component', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify custom component', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify anchor component with href', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test(`Renders with ${styles.modifiers.compact} class when isCompact is true`, () => { render( test ); expect(screen.getByTestId('compact-logo')).toHaveClass(styles.modifiers.compact); }); test(`Does not render with ${styles.modifiers.compact} class when isCompact is false`, () => { render( test ); expect(screen.getByTestId('logo')).not.toHaveClass(styles.modifiers.compact); }); test(`Does not render with ${styles.modifiers.compact} class when isCompact is not passed`, () => { render(test); expect(screen.getByTestId('logo')).not.toHaveClass(styles.modifiers.compact); }); }); describe('MastheadContent', () => { test('verify basic', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify custom class', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); }); describe('MastheadBrand', () => { test('verify basic', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify custom class', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); }); describe('MastheadToggle', () => { test('verify basic', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); test('verify custom class', () => { const { asFragment } = render(test); expect(asFragment()).toMatchSnapshot(); }); });