-
-
Notifications
You must be signed in to change notification settings - Fork 15
Open
Labels
Description
Anyone Jest testing with use-between hooks? Let me give you a shortened example code...
export const MyDialog = () => {
// shared use between hook set in another component
const { displayAddAnalysis, setDisplayAddAnalysis } = useMyHook();
return (
<Dialog id="dlg-new-planned-analysis"
header={`New Planned Analysis`}
visible={displayAddAnalysis}
onHide={onHide}>
)
}I need to set the displayAddAnalysis use-between hook value to true for my Jest test.
Here is the only way we could figure out to set it because use-between must be used in a Component is to create a fake <testComponent> but some on our dev team think this feels wrong. Any thoughts on the best way to test use-between hooks in Jest?
function getDialog() {
//Test component exists so that the setMyHook can be switched to true.
//Otherwise, the Dialog component will not exist to test
function TestComponent() {
const { setDisplayAddAnalysis } = usePlannedAnalysisHook();
setDisplayAddAnalysis(true);
return null;
}
render(<TestComponent />);
return render(<MyDialog />);
}
test("Making sure error messages do not show on component loading", async () => {
//Arrange
const Dialog = getDialog();
// Act
const study = await Dialog.findByTestId("studyError");
//Assert
expect(study.textContent).toMatch("");
});
}