1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Cleanup renderFor impl to be simpler

Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
Sebastian Malton 2023-02-24 15:42:40 -05:00
parent 98740c919a
commit 2bff8cc733

View File

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