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:
parent
98740c919a
commit
2bff8cc733
@ -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;
|
||||||
|
|
||||||
export const renderFor: DiRenderFor = (di) => (ui) => {
|
const getDOM = (di: DiContainer, ui: React.ReactElement) => (
|
||||||
const result = testingLibraryRender(
|
|
||||||
(
|
|
||||||
<DiContextProvider value={{ di }}>
|
<DiContextProvider value={{ di }}>
|
||||||
{ui}
|
{ui}
|
||||||
</DiContextProvider>
|
</DiContextProvider>
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export const renderFor: DiRenderFor = (di) => (ui) => {
|
||||||
|
const result = render(getDOM(di, ui));
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...result,
|
...result,
|
||||||
|
rerender: (ui) => result.rerender(getDOM(di, ui)),
|
||||||
rerender: (ui: React.ReactElement) => result.rerender(
|
|
||||||
<DiContextProvider value={{ di }}>{ui}</DiContextProvider>,
|
|
||||||
),
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user