From b52b8183ce299b5a2d3c3b2f4f8cb94bb443d746 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Mon, 2 Oct 2023 18:07:34 +0200
Subject: refactor(components): rewrite Notice component

* Rename message prop to children prop and set ReactNode as type
---
 src/components/atoms/notice/notice.test.tsx | 37 +++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 src/components/atoms/notice/notice.test.tsx

(limited to 'src/components/atoms/notice/notice.test.tsx')

diff --git a/src/components/atoms/notice/notice.test.tsx b/src/components/atoms/notice/notice.test.tsx
new file mode 100644
index 0000000..dd6bef6
--- /dev/null
+++ b/src/components/atoms/notice/notice.test.tsx
@@ -0,0 +1,37 @@
+import { describe, expect, it } from '@jest/globals';
+import { render, screen as rtlScreen } from '@testing-library/react';
+import { Notice } from './notice';
+
+describe('Notice', () => {
+  it('can render an error notice', () => {
+    const body = 'culpa sint ut';
+
+    render(<Notice kind="error">{body}</Notice>);
+
+    expect(rtlScreen.getByText(body)).toHaveClass('notice--error');
+  });
+
+  it('can render an informative notice', () => {
+    const body = 'labore optio rerum';
+
+    render(<Notice kind="info">{body}</Notice>);
+
+    expect(rtlScreen.getByText(body)).toHaveClass('notice--info');
+  });
+
+  it('can render a success notice', () => {
+    const body = 'dolorem voluptatem velit';
+
+    render(<Notice kind="success">{body}</Notice>);
+
+    expect(rtlScreen.getByText(body)).toHaveClass('notice--success');
+  });
+
+  it('can render a warning notice', () => {
+    const body = 'ut non nihil';
+
+    render(<Notice kind="warning">{body}</Notice>);
+
+    expect(rtlScreen.getByText(body)).toHaveClass('notice--warning');
+  });
+});
-- 
cgit v1.2.3

