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 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 { DiContextProvider } from "@ogre-tools/injectable-react";
|
||||
|
||||
@ -12,20 +12,17 @@ export type DiRender = (ui: React.ReactElement) => RenderResult;
|
||||
|
||||
type DiRenderFor = (di: DiContainer) => DiRender;
|
||||
|
||||
const getDOM = (di: DiContainer, ui: React.ReactElement) => (
|
||||
<DiContextProvider value={{ di }}>
|
||||
{ui}
|
||||
</DiContextProvider>
|
||||
);
|
||||
|
||||
export const renderFor: DiRenderFor = (di) => (ui) => {
|
||||
const result = testingLibraryRender(
|
||||
(
|
||||
<DiContextProvider value={{ di }}>
|
||||
{ui}
|
||||
</DiContextProvider>
|
||||
),
|
||||
);
|
||||
const result = render(getDOM(di, ui));
|
||||
|
||||
return {
|
||||
...result,
|
||||
|
||||
rerender: (ui: React.ReactElement) => result.rerender(
|
||||
<DiContextProvider value={{ di }}>{ui}</DiContextProvider>,
|
||||
),
|
||||
rerender: (ui) => result.rerender(getDOM(di, ui)),
|
||||
};
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user