mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
25 lines
743 B
TypeScript
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>
|
|
),
|
|
};
|
|
};
|