import { render, screen } from '@testing-library/react'; import { CardSubtitle } from '../CardSubtitle'; import styles from '@patternfly/react-styles/css/components/Card/card'; test('Renders without children', () => { render(
); expect(screen.getByTestId('container').firstChild).toBeVisible(); }); test('Renders with children', () => { render(Subtitle content); expect(screen.getByText('Subtitle content')).toBeInTheDocument(); }); test(`Renders with class ${styles.cardSubtitle} by default`, () => { render(Subtitle content); expect(screen.getByText('Subtitle content')).toHaveClass(styles.cardSubtitle, { exact: true }); }); test('Renders with id when passed', () => { render(Subtitle content); expect(screen.getByText('Subtitle content')).toHaveAttribute('id', 'subtitle-id'); }); test('extra props are spread to the root element', () => { const testId = 'card-subtitle'; render(); expect(screen.getByTestId(testId)).toBeInTheDocument(); }); test('Matches snapshot without children', () => { const { asFragment } = render(); expect(asFragment()).toMatchSnapshot(); }); test('Matches snapshot with children', () => { const { asFragment } = render(Subtitle content); expect(asFragment()).toMatchSnapshot(); });