From acab9b4a5329c9311f376bf7da62494b73e798dc Mon Sep 17 00:00:00 2001
From: Max Frederiksen <maxfrederiksen@Maxs-MacBook-Air.local>
Date: Tue, 7 Jan 2025 16:11:03 +0100
Subject: [PATCH] Add typing /mocks/AppHarness.tsx = fixes tests

---
 src/mocks/AppHarness.tsx | 41 ++++++++++++++++++++++++++++++----------
 1 file changed, 31 insertions(+), 10 deletions(-)

diff --git a/src/mocks/AppHarness.tsx b/src/mocks/AppHarness.tsx
index cc72b991..45a20db9 100644
--- a/src/mocks/AppHarness.tsx
+++ b/src/mocks/AppHarness.tsx
@@ -1,3 +1,4 @@
+import { type ReactNode } from "react";
 import { SnackbarProvider } from "notistack";
 import { Container, CssBaseline, StyledEngineProvider } from "@mui/material";
 import { ThemeProvider } from "@mui/material/styles";
@@ -6,32 +7,52 @@ import { TestUserProvider, UserImpersonator } from "./UserImpersonator";
 import { theme } from "../style/Theme";
 import { UserProvider } from "../api/UserProvider";
 import { NavigationMenu } from "../components/navigation/NavigationMenu";
-import { DeployAPIProvider } from "../api/APIProvider";
 import { ReduxProvider } from "../store/ReduxProvider";
+import { User } from "../types/common";
 
-export function RouterHarness({ children, initialHistory = ["/"] }) {
+interface RouterHarnessProps {
+  children: ReactNode;
+  initialHistory?: string[];
+}
+
+export function RouterHarness({
+  children,
+  initialHistory = ["/"]
+}: RouterHarnessProps) {
   return (
     <StyledEngineProvider injectFirst>
       <ThemeProvider theme={theme}>
         <CssBaseline />
-        <MemoryRouter initialEntries={initialHistory}>
-          <DeployAPIProvider>{children}</DeployAPIProvider>
-        </MemoryRouter>
+        <MemoryRouter initialEntries={initialHistory}>{children}</MemoryRouter>
       </ThemeProvider>
     </StyledEngineProvider>
   );
 }
 
+interface AppHarnessProps {
+  children: ReactNode;
+  initialHistory?: string[];
+  useTestUser?: boolean;
+  user?: User;
+  userRoles?: string[];
+}
+
 export function AppHarness({
   children,
   initialHistory = ["/"],
   useTestUser = false,
-  ...args
-}) {
+  user,
+  userRoles
+}: AppHarnessProps) {
   const SelectedUserProvider = useTestUser
-    ? ({ children }) => (
+    ? ({ children }: { children: ReactNode }) => (
         <TestUserProvider>
-          <UserImpersonator {...args}>{children}</UserImpersonator>
+          <UserImpersonator
+            user={user}
+            userRoles={userRoles}
+          >
+            {children}
+          </UserImpersonator>
         </TestUserProvider>
       )
     : UserProvider;
@@ -40,7 +61,7 @@ export function AppHarness({
     <ReduxProvider>
       <SnackbarProvider
         preventDuplicate
-        maxSnack="5"
+        maxSnack={5}
       >
         <RouterHarness initialHistory={initialHistory}>
           <SelectedUserProvider>
-- 
GitLab