diff --git a/react-responsive-modal/__tests__/index.test.tsx b/react-responsive-modal/__tests__/index.test.tsx index a6a77881..ed59be32 100644 --- a/react-responsive-modal/__tests__/index.test.tsx +++ b/react-responsive-modal/__tests__/index.test.tsx @@ -92,6 +92,42 @@ describe('modal', () => { expect(onClose).not.toHaveBeenCalled(); }); + it('should not call onClose when closeOnEsc is updated to false while open', () => { + const onClose = vitest.fn(); + const { container, rerender } = render( + +
modal content
+
, + ); + + rerender( + +
modal content
+
, + ); + + fireEvent.keyDown(container, { keyCode: 27 }); + expect(onClose).not.toHaveBeenCalled(); + }); + + it('should call onClose when closeOnEsc is updated to true while open', () => { + const onClose = vitest.fn(); + const { container, rerender } = render( + +
modal content
+
, + ); + + rerender( + +
modal content
+
, + ); + + fireEvent.keyDown(container, { keyCode: 27 }); + expect(onClose).toHaveBeenCalledTimes(1); + }); + it('should call onClose when pressing esc key', () => { const onClose = vitest.fn(); const { container } = render(