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( {body} ); 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( {body} ); 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({body}); expect(rtlScreen.getByText(body)).toHaveClass('page--body-last'); }); });