import { describe, expect, it } from '@jest/globals'; import { render, screen as rtlScreen } from '../../../../tests/utils'; import { Layout, getLayout } from './layout'; const body = 'Sit dolorem eveniet. Sit sit odio nemo vitae corrupti modi sint est rerum. Pariatur quidem maiores distinctio. Quia et illum aspernatur est cum.'; describe('Layout', () => { it('renders the website header', () => { render({body}); expect(rtlScreen.getByRole('banner')).toBeInTheDocument(); }); it('renders the website main content', () => { render({body}); expect(rtlScreen.getByRole('main')).toBeInTheDocument(); }); it('renders the website footer', () => { render({body}); expect(rtlScreen.getByRole('contentinfo')).toBeInTheDocument(); }); it('renders a skip to content link', () => { render({body}); expect( rtlScreen.getByRole('link', { name: 'Skip to content' }) ).toBeInTheDocument(); }); it('renders its body', () => { render({body}); expect(rtlScreen.getByText(body)).toBeInTheDocument(); }); }); describe('getLayout', () => { it('wraps the given contents in a layout component', () => { const PageContents =
{body}
; const Page = getLayout(PageContents); expect(Page.props).toStrictEqual({ children: PageContents }); }); });