@@ -336,10 +336,7 @@ describe('components/flyout/Flyout', () => {
336336 if ( shouldCloseOverlay ) {
337337 sandbox . mock ( instance ) . expects ( 'handleOverlayClose' ) ;
338338 } else {
339- sandbox
340- . mock ( instance )
341- . expects ( 'handleOverlayClose' )
342- . never ( ) ;
339+ sandbox . mock ( instance ) . expects ( 'handleOverlayClose' ) . never ( ) ;
343340 }
344341 act ( ( ) => {
345342 instance . handleOverlayClick ( event ) ;
@@ -432,10 +429,7 @@ describe('components/flyout/Flyout', () => {
432429
433430 const instance = wrapper . instance ( ) ;
434431 setTimeout ( ( ) => {
435- sandbox
436- . mock ( instance )
437- . expects ( 'openOverlay' )
438- . never ( ) ;
432+ sandbox . mock ( instance ) . expects ( 'openOverlay' ) . never ( ) ;
439433 } , 310 ) ; // default timeout is 300ms
440434
441435 instance . handleButtonHover ( event ) ;
@@ -452,10 +446,7 @@ describe('components/flyout/Flyout', () => {
452446
453447 const instance = wrapper . instance ( ) ;
454448 setTimeout ( ( ) => {
455- sandbox
456- . mock ( instance )
457- . expects ( 'openOverlay' )
458- . never ( ) ;
449+ sandbox . mock ( instance ) . expects ( 'openOverlay' ) . never ( ) ;
459450 } , timeout - 10 ) ;
460451
461452 setTimeout ( ( ) => {
@@ -485,6 +476,32 @@ describe('components/flyout/Flyout', () => {
485476 } ) ;
486477 } ) ;
487478
479+ describe ( 'handleKeyPress()' , ( ) => {
480+ test ( 'should call openOverlay() and focusButton() when enter key is pressed' , ( ) => {
481+ const wrapper = shallow (
482+ < Flyout >
483+ < FakeButton />
484+ < FakeOverlay />
485+ </ Flyout > ,
486+ ) ;
487+
488+ const instance = wrapper . instance ( ) ;
489+ const openOverlaySpy = sandbox . spy ( instance , 'openOverlay' ) ;
490+ const focusButtonSpy = sandbox . spy ( instance , 'focusButton' ) ;
491+
492+ const event = {
493+ key : 'Enter' ,
494+ preventDefault : sandbox . spy ( ) ,
495+ } ;
496+
497+ instance . handleKeyPress ( event ) ;
498+
499+ expect ( openOverlaySpy . calledOnce ) . toBe ( true ) ;
500+ expect ( focusButtonSpy . calledOnce ) . toBe ( true ) ;
501+ expect ( event . preventDefault . calledOnce ) . toBe ( true ) ;
502+ } ) ;
503+ } ) ;
504+
488505 describe ( 'closeOverlay()' , ( ) => {
489506 [
490507 {
@@ -803,10 +820,7 @@ describe('components/flyout/Flyout', () => {
803820 if ( shouldCallCloseOverlay ) {
804821 sandbox . mock ( instance ) . expects ( 'closeOverlay' ) ;
805822 } else {
806- sandbox
807- . mock ( instance )
808- . expects ( 'closeOverlay' )
809- . never ( ) ;
823+ sandbox . mock ( instance ) . expects ( 'closeOverlay' ) . never ( ) ;
810824 }
811825
812826 if ( isInsideToggleButton ) {
@@ -833,10 +847,7 @@ describe('components/flyout/Flyout', () => {
833847 const el = document . createElement ( 'div' ) ;
834848 el . innerHTML = '<div class="class"><div class="target"></div></div>' ;
835849
836- sandbox
837- . mock ( instance )
838- . expects ( 'closeOverlay' )
839- . never ( ) ;
850+ sandbox . mock ( instance ) . expects ( 'closeOverlay' ) . never ( ) ;
840851
841852 instance . handleDocumentClickOrWindowBlur ( {
842853 target : el . querySelector ( '.target' ) ,
0 commit comments