diff --git a/src/__tests__/unit/components/PageError.test.tsx b/src/__tests__/unit/components/PageError.test.tsx
new file mode 100644
index 0000000..cccf282
--- /dev/null
+++ b/src/__tests__/unit/components/PageError.test.tsx
@@ -0,0 +1,35 @@
+import { cleanup, fireEvent, render, screen } from "@testing-library/react"
+import { afterEach, describe, expect, it, vi } from "vitest"
+
+import { PageError } from "@/components/page-error"
+
+describe("PageError component", () => {
+ afterEach(() => {
+ cleanup()
+ })
+
+ it('renders the error message "Something went wrong! with a reload button"', () => {
+ render()
+
+ const errorMessage = screen.getByText(/something went wrong!/i)
+ const reloadButton = screen.getByRole("button", { name: /reload page/i })
+ expect(errorMessage).toBeDefined() // Check that the error message is rendered
+ expect(reloadButton).toBeDefined() // Check that the reload button is rendered
+ })
+
+ it('triggers page reload when the "Reload page" button is clicked', () => {
+ // Mock window.location.reload
+ const reloadMock = vi.fn()
+ Object.defineProperty(window, "location", {
+ configurable: true,
+ value: { reload: reloadMock },
+ })
+
+ render()
+
+ const reloadButton = screen.getByRole("button", { name: /reload page/i })
+ fireEvent.click(reloadButton)
+
+ expect(reloadMock).toHaveBeenCalledTimes(1) // Ensure the page reload function is called
+ })
+})