diff --git a/src/components/Pagination/pagination.test.tsx b/src/components/Pagination/pagination.test.tsx
new file mode 100644
index 0000000..614bd1f
--- /dev/null
+++ b/src/components/Pagination/pagination.test.tsx
@@ -0,0 +1,29 @@
+import '@testing-library/jest-dom';
+import { render, screen } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+import Pagination from './pagination';
+
+describe('Pagination test cases', () => {
+  test('renders correctly', () => {
+    render(<Pagination itemsPerPage={10} totalItems={50} currentPage={1} onPageChange={() => {}} />);
+
+    for (let i = 1; i <= 5; i++) {
+      expect(screen.getByText(i.toString())).toBeInTheDocument();
+    }
+  });
+
+  test('calls onPageChange with correct page number when a page button is clicked', async () => {
+    const onPageChange = jest.fn();
+    render(<Pagination itemsPerPage={10} totalItems={50} currentPage={1} onPageChange={onPageChange} />);
+
+    await userEvent.click(screen.getByText('2'));
+
+    expect(onPageChange).toHaveBeenCalledWith(2);
+  });
+
+  test('disables the button of the current page', () => {
+    render(<Pagination itemsPerPage={10} totalItems={50} currentPage={1} onPageChange={() => {}} />);
+
+    expect(screen.getByText('1')).toBeDisabled();
+  });
+});