Skip to content

Commit 37cd487

Browse files
committed
Updated cardsubtitle tests
1 parent 2fa989f commit 37cd487

File tree

4 files changed

+67
-30
lines changed

4 files changed

+67
-30
lines changed
Lines changed: 37 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,43 @@
11
import { render, screen } from '@testing-library/react';
22
import { CardSubtitle } from '../CardSubtitle';
3+
import styles from '@patternfly/react-styles/css/components/Card/card';
34

4-
describe('CardSubtitle', () => {
5-
test('renders with PatternFly Core styles', () => {
6-
const { asFragment } = render(<CardSubtitle>text</CardSubtitle>);
7-
expect(asFragment()).toMatchSnapshot();
8-
});
5+
test('Renders without children', () => {
6+
render(
7+
<div data-testid="container">
8+
<CardSubtitle />
9+
</div>
10+
);
911

10-
test('extra props are spread to the root element', () => {
11-
const testId = 'card-subtitle';
12+
expect(screen.getByTestId('container').firstChild).toBeVisible();
13+
});
14+
15+
test('Renders with children', () => {
16+
render(<CardSubtitle>Subtitle content</CardSubtitle>);
17+
18+
expect(screen.getByText('Subtitle content')).toBeInTheDocument();
19+
});
20+
21+
test(`Renders with class ${styles.cardSubtitle} by default`, () => {
22+
render(<CardSubtitle>Subtitle content</CardSubtitle>);
23+
24+
expect(screen.getByText('Subtitle content')).toHaveClass(styles.cardSubtitle, { exact: true });
25+
});
26+
27+
test('Renders with id when passed', () => {
28+
render(<CardSubtitle id="subtitle-id">Subtitle content</CardSubtitle>);
29+
30+
expect(screen.getByText('Subtitle content')).toHaveAttribute('id', 'subtitle-id');
31+
});
32+
33+
test('extra props are spread to the root element', () => {
34+
const testId = 'card-subtitle';
35+
36+
render(<CardSubtitle data-testid={testId} />);
37+
expect(screen.getByTestId(testId)).toBeInTheDocument();
38+
});
1239

13-
render(<CardSubtitle data-testid={testId} />);
14-
expect(screen.getByTestId(testId)).toBeInTheDocument();
15-
});
40+
test('Matches snapshot', () => {
41+
const { asFragment } = render(<CardSubtitle>text</CardSubtitle>);
42+
expect(asFragment()).toMatchSnapshot();
1643
});
Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,31 @@
11
import { render, screen } from '@testing-library/react';
22
import { CardTitle } from '../CardTitle';
33

4-
describe('CardTitle', () => {
5-
test('renders with PatternFly Core styles', () => {
6-
const { asFragment } = render(<CardTitle>text</CardTitle>);
7-
expect(asFragment()).toMatchSnapshot();
8-
});
9-
10-
test('className is added to the root element', () => {
11-
render(<CardTitle className="extra-class">text</CardTitle>);
12-
expect(screen.getByText('text')).toHaveClass('extra-class');
13-
});
14-
15-
test('extra props are spread to the root element', () => {
16-
const testId = 'card-header';
17-
18-
render(<CardTitle data-testid={testId} />);
19-
expect(screen.getByTestId(testId)).toBeInTheDocument();
20-
});
4+
test('Renders with custom class when passed', () => {
5+
render(<CardTitle className="extra-class">text</CardTitle>);
6+
expect(screen.getByText('text')).toHaveClass('extra-class');
7+
});
8+
9+
test('Does not render with card subtitle by default', () => {
10+
render(<CardTitle>text</CardTitle>);
11+
12+
expect(screen.queryByText('text')?.nextElementSibling).not.toBeInTheDocument();
13+
});
14+
15+
test('Renders with card subtitle when subtitle is passed', () => {
16+
render(<CardTitle subtitle="subtitle content">text</CardTitle>);
17+
18+
expect(screen.getByText('subtitle content')).toBeInTheDocument();
19+
});
20+
21+
test('extra props are spread to the root element', () => {
22+
const testId = 'card-header';
23+
24+
render(<CardTitle data-testid={testId} />);
25+
expect(screen.getByTestId(testId)).toBeInTheDocument();
26+
});
27+
28+
test('Matches snapshot', () => {
29+
const { asFragment } = render(<CardTitle>text</CardTitle>);
30+
expect(asFragment()).toMatchSnapshot();
2131
});

packages/react-core/src/components/Card/__tests__/__snapshots__/CardSubtitle.test.tsx.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`CardSubtitle renders with PatternFly Core styles 1`] = `
3+
exports[`Matches snapshot 1`] = `
44
<DocumentFragment>
55
<div
6-
class="pf-v6-c-card__subtitle"
6+
class=""
77
id=""
88
>
99
text

packages/react-core/src/components/Card/__tests__/__snapshots__/CardTitle.test.tsx.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`CardTitle renders with PatternFly Core styles 1`] = `
3+
exports[`Matches snapshot 1`] = `
44
<DocumentFragment>
55
<div
66
class="pf-v6-c-card__title"

0 commit comments

Comments
 (0)