diff --git a/tests/common/testHelper.tsx b/tests/common/testHelper.tsx
index f80c492b..9953ca6c 100644
--- a/tests/common/testHelper.tsx
+++ b/tests/common/testHelper.tsx
@@ -1,8 +1,26 @@
import React, { ReactNode } from 'react';
import { MemoryRouter } from 'react-router';
+import { Route, Routes } from 'react-router-dom';
-export const withRouter = (component: ReactNode) => (<>
-
- {component}
-
->)
+/**
+ * Wraps a component with a MemoryRouter.
+ * @param component - The React node to wrap.
+ * @param initialEntry - (Optional) The initial route for the router.
+ * @param path - (Optional) The route path to render the component.
+ */
+export const withRouter = (component: ReactNode, initialEntry?: string, path?: string) => {
+ if (initialEntry && path) {
+ return (<>
+
+
+
+
+
+ >);
+ }
+ return (<>
+
+ {component}
+
+ >)
+}
diff --git a/tests/components/resources/ResourceDetailsPage.test.tsx b/tests/components/resources/ResourceDetailsPage.test.tsx
index f534789f..b853bef7 100644
--- a/tests/components/resources/ResourceDetailsPage.test.tsx
+++ b/tests/components/resources/ResourceDetailsPage.test.tsx
@@ -1,9 +1,9 @@
import { render, screen, waitFor } from '@testing-library/react';
import React from 'react';
import '@testing-library/jest-dom';
-import { MemoryRouter, Route, Routes } from 'react-router-dom';
import ResourceDetailsPage from '../../../src/components/resources/ResourceDetailsPage';
+import { withRouter } from '../../common/testHelper';
jest.mock('@vcmap/core', () => ({
VcsApp: jest.fn().mockImplementation(() => ({
@@ -54,13 +54,7 @@ describe('ResourceDetailsPage', () => {
it('should render a resource detail page', async () => {
- render(
-
-
- }/>
-
-
- );
+ render(withRouter(, '/resources/123', '/resources/:resourceId'));
await waitFor(() => {
expect(screen.getByRole('heading', { name: /Resource 1/i })).toBeInTheDocument();