From 3a68d155afd4559e141bcb6c1ca3d833d3bd4667 Mon Sep 17 00:00:00 2001
From: Armand Philippot <git@armandphilippot.com>
Date: Thu, 21 Apr 2022 17:58:36 +0200
Subject: chore: add a Pagination component

---
 src/components/molecules/nav/pagination.test.tsx | 26 ++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 src/components/molecules/nav/pagination.test.tsx

(limited to 'src/components/molecules/nav/pagination.test.tsx')

diff --git a/src/components/molecules/nav/pagination.test.tsx b/src/components/molecules/nav/pagination.test.tsx
new file mode 100644
index 0000000..2c4a063
--- /dev/null
+++ b/src/components/molecules/nav/pagination.test.tsx
@@ -0,0 +1,26 @@
+import { render, screen } from '@test-utils';
+import Pagination from './pagination';
+
+const total = 50;
+const perPage = 10;
+
+describe('Pagination', () => {
+  it('renders previous and next page links', () => {
+    render(<Pagination current={2} total={total} perPage={perPage} />);
+    expect(
+      screen.getByRole('link', { name: /Previous page/i })
+    ).toBeInTheDocument();
+    expect(
+      screen.getByRole('link', { name: /Next page/i })
+    ).toBeInTheDocument();
+  });
+
+  it('renders the page links except for the current one', () => {
+    render(
+      <Pagination current={2} siblings={2} total={total} perPage={perPage} />
+    );
+    expect(screen.getAllByRole('link', { name: /Page / })).toHaveLength(
+      total / perPage - 1
+    );
+  });
+});
-- 
cgit v1.2.3

