;
+ const About = () => {
+ throw new Error("something went wrong");
+ };
try {
render(
+
- Home
- About
- Error
-
-
- } />
- } />
- } />
-
-
-
+ Home
+ About
+
+
+ } />
+ } />
+
+
+
+
);
expect(screen.getByText(/Home Page/i)).toBeInTheDocument()
-
- // go to error page
- await userEvent.click(screen.getByText(/error/i))
- expect(screen.getByText(/You are on the error page/i)).toBeInTheDocument()
- expect(trackExceptionSpy).toHaveBeenCalledTimes(1);
- // go back to home page
- await userEvent.click(screen.getByText(/go back/i));
- expect(screen.getByText(/Home Page/i)).toBeInTheDocument();
- expect(trackExceptionSpy).toHaveBeenCalledTimes(1);
-
- // go to error page again
- await userEvent.click(screen.getByText(/error/i))
- expect(screen.getByText(/You are on the error page/i)).toBeInTheDocument()
- console.log("track time", trackExceptionSpy.mock.calls.length);
-
- // navigate to about page
- await userEvent.click(screen.getByText(/about/i))
- expect(screen.getByText(/About Page/i)).toBeInTheDocument()
+ // navigate to about page (throws error, so show error component)
+ await userEvent.click(screen.getByText(/about/i));
+ expect(screen.getByText(/You are on the error page/i)).toBeInTheDocument();
console.log("track time", trackExceptionSpy.mock.calls.length);
+ // go back to home page (no error, so show home component)
+ await userEvent.click(screen.getByText(/go back/i));
+ expect(screen.getByText(/Home Page/i)).toBeInTheDocument();
} finally {
if (orgError) {
console.error = orgError;