From d4045fbcbfa8208ec31539744417f315f1f6fad8 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Tue, 21 Nov 2023 19:01:18 +0100 Subject: refactor(components): split Layout component in smaller components The previous component was too long and hardly readable. So I splitted it in different part and added tests. --- .../layout/site-footer/site-footer.test.tsx | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/components/templates/layout/site-footer/site-footer.test.tsx (limited to 'src/components/templates/layout/site-footer/site-footer.test.tsx') diff --git a/src/components/templates/layout/site-footer/site-footer.test.tsx b/src/components/templates/layout/site-footer/site-footer.test.tsx new file mode 100644 index 0000000..fa60b8f --- /dev/null +++ b/src/components/templates/layout/site-footer/site-footer.test.tsx @@ -0,0 +1,20 @@ +import { describe, expect, it } from '@jest/globals'; +import { render, screen as rtlScreen } from '../../../../../tests/utils'; +import { CONFIG } from '../../../../utils/config'; +import { ROUTES } from '../../../../utils/constants'; +import { SiteFooter } from './site-footer'; + +describe('SiteFooter', () => { + it('renders the website colophon', () => { + render(); + + expect(rtlScreen.getByRole('contentinfo')).toBeInTheDocument(); + expect(rtlScreen.getByText(CONFIG.copyright.startYear)).toBeInTheDocument(); + expect(rtlScreen.getByText(CONFIG.copyright.endYear)).toBeInTheDocument(); + expect(rtlScreen.getByText(new RegExp(CONFIG.name))).toBeInTheDocument(); + expect(rtlScreen.getByTitle('CC BY SA')).toBeInTheDocument(); + expect( + rtlScreen.getByRole('link', { name: 'Legal notice' }) + ).toHaveAttribute('href', ROUTES.LEGAL_NOTICE); + }); +}); -- cgit v1.2.3