From d4045fbcbfa8208ec31539744417f315f1f6fad8 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
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(<SiteFooter />);
+
+    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

