@@ -3481,8 +3481,7 @@ describe('SearchQueryBuilder', function () {
3481
3481
) ;
3482
3482
3483
3483
await userEvent . click ( getLastInput ( ) ) ;
3484
- await userEvent . keyboard ( 'foo:' ) ;
3485
- await userEvent . keyboard ( '{Escape}' ) ;
3484
+ await userEvent . keyboard ( 'foo:{Escape}' ) ;
3486
3485
3487
3486
expect (
3488
3487
screen . getByRole ( 'button' , { name : 'Edit key for filter: tags[foo,string]' } )
@@ -3498,8 +3497,7 @@ describe('SearchQueryBuilder', function () {
3498
3497
) ;
3499
3498
3500
3499
await userEvent . click ( getLastInput ( ) ) ;
3501
- await userEvent . keyboard ( 'bar:' ) ;
3502
- await userEvent . keyboard ( '{Escape}' ) ;
3500
+ await userEvent . keyboard ( 'bar:{Escape}' ) ;
3503
3501
3504
3502
expect (
3505
3503
screen . getByRole ( 'button' , { name : 'Edit key for filter: tags[bar,number]' } )
@@ -3543,5 +3541,75 @@ describe('SearchQueryBuilder', function () {
3543
3541
screen . getByRole ( 'button' , { name : 'Edit key for filter: tags[bar,number]' } )
3544
3542
) . toHaveTextContent ( 'bar' ) ;
3545
3543
} ) ;
3544
+
3545
+ it ( 'replaces string key in has with suggestion on enter' , async function ( ) {
3546
+ render (
3547
+ < SearchQueryBuilder
3548
+ { ...defaultProps }
3549
+ getSuggestedFilterKey = { getSuggestedFilterKey }
3550
+ />
3551
+ ) ;
3552
+
3553
+ await userEvent . click ( getLastInput ( ) ) ;
3554
+ await userEvent . keyboard ( 'has:foo{Enter}{Escape}' ) ;
3555
+
3556
+ expect (
3557
+ screen . getByRole ( 'button' , { name : 'Edit value for filter: has' } )
3558
+ ) . toHaveTextContent ( 'foo' ) ;
3559
+ expect ( screen . getByLabelText ( 'has:tags[foo,string]' ) ) . toBeInTheDocument ( ) ;
3560
+ } ) ;
3561
+
3562
+ it ( 'replaces number key in has with suggestion on enter' , async function ( ) {
3563
+ render (
3564
+ < SearchQueryBuilder
3565
+ { ...defaultProps }
3566
+ getSuggestedFilterKey = { getSuggestedFilterKey }
3567
+ />
3568
+ ) ;
3569
+
3570
+ await userEvent . click ( getLastInput ( ) ) ;
3571
+ await userEvent . keyboard ( 'has:bar{Enter}{Escape}' ) ;
3572
+
3573
+ expect (
3574
+ screen . getByRole ( 'button' , { name : 'Edit value for filter: has' } )
3575
+ ) . toHaveTextContent ( 'bar' ) ;
3576
+ expect ( screen . getByLabelText ( 'has:tags[bar,number]' ) ) . toBeInTheDocument ( ) ;
3577
+ } ) ;
3578
+
3579
+ it ( 'replaces string key in has with suggestion on blur' , async function ( ) {
3580
+ render (
3581
+ < SearchQueryBuilder
3582
+ { ...defaultProps }
3583
+ getSuggestedFilterKey = { getSuggestedFilterKey }
3584
+ />
3585
+ ) ;
3586
+
3587
+ await userEvent . click ( getLastInput ( ) ) ;
3588
+ await userEvent . keyboard ( 'has:foo{Enter}' ) ;
3589
+ await userEvent . click ( document . body ) ;
3590
+
3591
+ expect (
3592
+ screen . getByRole ( 'button' , { name : 'Edit value for filter: has' } )
3593
+ ) . toHaveTextContent ( 'foo' ) ;
3594
+ expect ( screen . getByLabelText ( 'has:tags[foo,string]' ) ) . toBeInTheDocument ( ) ;
3595
+ } ) ;
3596
+
3597
+ it ( 'replaces number key in has with suggestion on blur' , async function ( ) {
3598
+ render (
3599
+ < SearchQueryBuilder
3600
+ { ...defaultProps }
3601
+ getSuggestedFilterKey = { getSuggestedFilterKey }
3602
+ />
3603
+ ) ;
3604
+
3605
+ await userEvent . click ( getLastInput ( ) ) ;
3606
+ await userEvent . keyboard ( 'has:bar{Enter}' ) ;
3607
+ await userEvent . click ( document . body ) ;
3608
+
3609
+ expect (
3610
+ screen . getByRole ( 'button' , { name : 'Edit value for filter: has' } )
3611
+ ) . toHaveTextContent ( 'bar' ) ;
3612
+ expect ( screen . getByLabelText ( 'has:tags[bar,number]' ) ) . toBeInTheDocument ( ) ;
3613
+ } ) ;
3546
3614
} ) ;
3547
3615
} ) ;
0 commit comments