From 0405f56ffef0bcf719fc8bbed856e33417401acf Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Tue, 4 Aug 2020 21:13:40 +0200 Subject: [PATCH] test(fireEvent): Add expected behavior for blur/focus in React (#757) --- src/__tests__/events.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/__tests__/events.js b/src/__tests__/events.js index dc529344..bac063de 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -211,3 +211,30 @@ test('calling `fireEvent` directly works too', () => { }), ) }) + +test('blur/foucs bubbles in react', () => { + const handleBlur = jest.fn() + const handleBubbledBlur = jest.fn() + const handleFocus = jest.fn() + const handleBubbledFocus = jest.fn() + const {container} = render( +
+
, + ) + const button = container.firstChild.firstChild + + fireEvent.focus(button) + + expect(handleBlur).toHaveBeenCalledTimes(0) + expect(handleBubbledBlur).toHaveBeenCalledTimes(0) + expect(handleFocus).toHaveBeenCalledTimes(1) + expect(handleBubbledFocus).toHaveBeenCalledTimes(1) + + fireEvent.blur(button) + + expect(handleBlur).toHaveBeenCalledTimes(1) + expect(handleBubbledBlur).toHaveBeenCalledTimes(1) + expect(handleFocus).toHaveBeenCalledTimes(1) + expect(handleBubbledFocus).toHaveBeenCalledTimes(1) +})