blob: 21c5a86b2cbf87377366c9bf6761063101848d35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
import { describe, expect, it } from '@jest/globals';
import { render, screen as rtlScreen } from '../../../../tests/utils';
import type { BreadcrumbsItem } from '../../organisms';
import { Page } from './page';
import { PageBody } from './page-body';
describe('Page', () => {
it('renders its children', () => {
const body =
'Consequatur deleniti eligendi quidem sint et nobis ut qui. Dolores modi eos. Cupiditate aliquid sunt consequatur voluptatem laudantium.';
render(
<Page>
<PageBody>{body}</PageBody>
</Page>
);
expect(rtlScreen.getByText(body)).toBeInTheDocument();
});
it('can render the breadcrumbs', () => {
const body =
'Consequatur deleniti eligendi quidem sint et nobis ut qui. Dolores modi eos. Cupiditate aliquid sunt consequatur voluptatem laudantium.';
const breadcrumbs = [
{ id: 'home', name: 'Home', url: '#home' },
{ id: 'blog', name: 'Blog', url: '#blog' },
] satisfies BreadcrumbsItem[];
render(
<Page breadcrumbs={breadcrumbs}>
<PageBody>{body}</PageBody>
</Page>
);
expect(rtlScreen.getByRole('navigation')).toHaveAccessibleName(
'Breadcrumbs'
);
expect(rtlScreen.getAllByRole('listitem')).toHaveLength(breadcrumbs.length);
});
it('can have a class modifier based on a prop', () => {
const body =
'Consequatur deleniti eligendi quidem sint et nobis ut qui. Dolores modi eos. Cupiditate aliquid sunt consequatur voluptatem laudantium.';
render(<Page isBodyLastChild>{body}</Page>);
expect(rtlScreen.getByText(body)).toHaveClass('page--body-last');
});
});
|