Closed fgs-dbudwin closed 4 years ago
Hi @fgs-dbudwin, did you find a workaround?
I think, that you have a wrong approach to call an alert.
Did you try to call an alert.error
on button click like in the Usage section in the documentation, simulate a click and check if alert appears on the screen?
Try to add the following imports to test file:
import { Provider as AlertProvider } from "react-alert";
import AlertTemplate from "react-alert-template-basic";
... And wrap your HelloWorld component in test file like so:
render(<AlertProvider template={AlertTemplate}><HelloWorld /></AlertProvider>, container);
I don't know if this is the right or good solution. Maybe it is stupid and wrong. But it works for me.
@JostHren is right, you can only use the useAlert
hook if the component using it is a child of an AlertProvider
, otherwise, it wouldn't have the context to work.
I have a simple component that uses
react-alert
to display a "Hello World!" message. I am using React 16.12.0, jest 25.1.0, and react-alert 6.0.0. I wanted to write unit tests around my form using Jest, but I got the following error:My React component is quite simple (
hello-world.tsx
):My unit test is quite simple (
hello-world.test.tsx
):If I modify my
HelloWorld
component to be the following, my unit test will pass.Any advice as to what could be going wrong here? I am relatively new to this ecosystem, so I may likely be overlooking something.