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