1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/utility-features/test-utils/src/render-for.tsx
Janne Savolainen e99828b8e4
Introduce test utils for rendering and running with thrown mobx reactions
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-03-16 16:02:02 +02:00

25 lines
743 B
TypeScript

import React from "react";
import type { RenderResult } from "@testing-library/react";
import { render as testingLibraryRender } from "@testing-library/react";
import type { DiContainer } from "@ogre-tools/injectable";
import { DiContextProvider } from "@ogre-tools/injectable-react";
export type DiRender = (ui: React.ReactElement) => RenderResult;
type DiRenderFor = (di: DiContainer) => DiRender;
export const renderFor: DiRenderFor = (di) => (ui) => {
const result = testingLibraryRender(
<DiContextProvider value={{ di }}>{ui}</DiContextProvider>
);
return {
...result,
rerender: (ui: React.ReactElement) =>
result.rerender(
<DiContextProvider value={{ di }}>{ui}</DiContextProvider>
),
};
};