diff options
Diffstat (limited to 'src/components/organisms/layout/site-footer.test.tsx')
| -rw-r--r-- | src/components/organisms/layout/site-footer.test.tsx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/components/organisms/layout/site-footer.test.tsx b/src/components/organisms/layout/site-footer.test.tsx new file mode 100644 index 0000000..ffdeb7a --- /dev/null +++ b/src/components/organisms/layout/site-footer.test.tsx @@ -0,0 +1,36 @@ +import { describe, expect, it } from '@jest/globals'; +import { render, screen as rtlScreen } from '../../../../tests/utils'; +import { SiteFooter, type SiteFooterProps } from './site-footer'; + +const copyright: SiteFooterProps['copyright'] = { + dates: { start: '2017', end: '2022' }, + owner: 'Lorem ipsum', + icon: 'CC', +}; + +const navItems: SiteFooterProps['navItems'] = [ + { id: 'legal-notice', href: '#', label: 'Legal notice' }, +]; + +describe('SiteFooter', () => { + it('renders the website copyright', () => { + render(<SiteFooter copyright={copyright} topId="top" />); + expect(rtlScreen.getByText(copyright.owner)).toBeInTheDocument(); + }); + + it('renders a back to top link', () => { + render(<SiteFooter copyright={copyright} topId="top" />); + expect( + rtlScreen.getByRole('link', { name: 'Back to top' }) + ).toBeInTheDocument(); + }); + + it('renders some nav items', () => { + render( + <SiteFooter copyright={copyright} navItems={navItems} topId="top" /> + ); + expect( + rtlScreen.getByRole('link', { name: navItems[0].label }) + ).toBeInTheDocument(); + }); +}); |
