import { render, screen } from '@testing-library/react'; import { CompassHeader } from '../CompassHeader'; import styles from '@patternfly/react-styles/css/components/Compass/compass'; test('Renders without children', () => { render(
); expect(screen.getByTestId('test-header').firstChild).toBeVisible(); }); test('Renders logo content when provided', () => { render(Logo content} />); expect(screen.getByText('Logo content')).toBeVisible(); }); test('Renders nav content when provided', () => { render(Nav content} />); expect(screen.getByText('Nav content')).toBeVisible(); }); test('Renders profile content when provided', () => { render(Profile content} />); expect(screen.getByText('Profile content')).toBeVisible(); }); test('Renders all content when all props are provided', () => { render(Logo} nav={
Nav
} profile={
Profile
} />); expect(screen.getByText('Logo')).toBeVisible(); expect(screen.getByText('Nav')).toBeVisible(); expect(screen.getByText('Profile')).toBeVisible(); }); test(`Renders logo with ${styles.compass}__logo class`, () => { render(Logo} />); expect(screen.getByText('Logo').parentElement).toHaveClass(`${styles.compass}__logo`); }); test(`Renders nav with ${styles.compassNav} class`, () => { render(Nav} />); expect(screen.getByText('Nav').parentElement).toHaveClass(styles.compassNav); }); test(`Renders profile with ${styles.compassProfile} class`, () => { render(Profile} />); expect(screen.getByText('Profile').parentElement).toHaveClass(styles.compassProfile); }); test('Matches the snapshot', () => { const { asFragment } = render( Logo} nav={
Nav
} profile={
Profile
} /> ); expect(asFragment()).toMatchSnapshot(); });